) {
169 | layoutList.clear()
170 | layoutList.addAll(list)
171 | }
172 | }
173 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | #
4 | # Copyright 2015 the original author or authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | ##############################################################################
20 | ##
21 | ## Gradle start up script for UN*X
22 | ##
23 | ##############################################################################
24 |
25 | # Attempt to set APP_HOME
26 | # Resolve links: $0 may be a link
27 | PRG="$0"
28 | # Need this for relative symlinks.
29 | while [ -h "$PRG" ] ; do
30 | ls=`ls -ld "$PRG"`
31 | link=`expr "$ls" : '.*-> \(.*\)$'`
32 | if expr "$link" : '/.*' > /dev/null; then
33 | PRG="$link"
34 | else
35 | PRG=`dirname "$PRG"`"/$link"
36 | fi
37 | done
38 | SAVED="`pwd`"
39 | cd "`dirname \"$PRG\"`/" >/dev/null
40 | APP_HOME="`pwd -P`"
41 | cd "$SAVED" >/dev/null
42 |
43 | APP_NAME="Gradle"
44 | APP_BASE_NAME=`basename "$0"`
45 |
46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48 |
49 | # Use the maximum available, or set MAX_FD != -1 to use that value.
50 | MAX_FD="maximum"
51 |
52 | warn () {
53 | echo "$*"
54 | }
55 |
56 | die () {
57 | echo
58 | echo "$*"
59 | echo
60 | exit 1
61 | }
62 |
63 | # OS specific support (must be 'true' or 'false').
64 | cygwin=false
65 | msys=false
66 | darwin=false
67 | nonstop=false
68 | case "`uname`" in
69 | CYGWIN* )
70 | cygwin=true
71 | ;;
72 | Darwin* )
73 | darwin=true
74 | ;;
75 | MINGW* )
76 | msys=true
77 | ;;
78 | NONSTOP* )
79 | nonstop=true
80 | ;;
81 | esac
82 |
83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84 |
85 |
86 | # Determine the Java command to use to start the JVM.
87 | if [ -n "$JAVA_HOME" ] ; then
88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89 | # IBM's JDK on AIX uses strange locations for the executables
90 | JAVACMD="$JAVA_HOME/jre/sh/java"
91 | else
92 | JAVACMD="$JAVA_HOME/bin/java"
93 | fi
94 | if [ ! -x "$JAVACMD" ] ; then
95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96 |
97 | Please set the JAVA_HOME variable in your environment to match the
98 | location of your Java installation."
99 | fi
100 | else
101 | JAVACMD="java"
102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103 |
104 | Please set the JAVA_HOME variable in your environment to match the
105 | location of your Java installation."
106 | fi
107 |
108 | # Increase the maximum file descriptors if we can.
109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110 | MAX_FD_LIMIT=`ulimit -H -n`
111 | if [ $? -eq 0 ] ; then
112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113 | MAX_FD="$MAX_FD_LIMIT"
114 | fi
115 | ulimit -n $MAX_FD
116 | if [ $? -ne 0 ] ; then
117 | warn "Could not set maximum file descriptor limit: $MAX_FD"
118 | fi
119 | else
120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121 | fi
122 | fi
123 |
124 | # For Darwin, add options to specify how the application appears in the dock
125 | if $darwin; then
126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127 | fi
128 |
129 | # For Cygwin or MSYS, switch paths to Windows format before running java
130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133 |
134 | JAVACMD=`cygpath --unix "$JAVACMD"`
135 |
136 | # We build the pattern for arguments to be converted via cygpath
137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138 | SEP=""
139 | for dir in $ROOTDIRSRAW ; do
140 | ROOTDIRS="$ROOTDIRS$SEP$dir"
141 | SEP="|"
142 | done
143 | OURCYGPATTERN="(^($ROOTDIRS))"
144 | # Add a user-defined pattern to the cygpath arguments
145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147 | fi
148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
149 | i=0
150 | for arg in "$@" ; do
151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153 |
154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156 | else
157 | eval `echo args$i`="\"$arg\""
158 | fi
159 | i=`expr $i + 1`
160 | done
161 | case $i in
162 | 0) set -- ;;
163 | 1) set -- "$args0" ;;
164 | 2) set -- "$args0" "$args1" ;;
165 | 3) set -- "$args0" "$args1" "$args2" ;;
166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172 | esac
173 | fi
174 |
175 | # Escape application args
176 | save () {
177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178 | echo " "
179 | }
180 | APP_ARGS=`save "$@"`
181 |
182 | # Collect all arguments for the java command, following the shell quoting and substitution rules
183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184 |
185 | exec "$JAVACMD" "$@"
186 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Material Intro
4 |
5 |
6 | Sophisticated and cool intro with Material Motion Animations.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | ## Who's using Material Intro?
30 | **👉 [Check out who's using Material Intro](/usecases.md)**
31 |
32 | ## Include in your project
33 | [](https://search.maven.org/artifact/io.github.androidpoet/materialintro)
34 |
35 | ### Gradle
36 | Add the dependency below to your **module**'s `build.gradle` file:
37 |
38 | ```gradle
39 | dependencies {
40 | implementation("io.github.androidpoet:materialintro:1.0.8")
41 | }
42 | ```
43 |
44 |
45 | ## SetUp for Views
46 |
47 |
48 | ```xml
49 |
50 |
54 |
55 | ```
56 |
57 | ```kotlin
58 | //add views into list
59 | list.add(R.layout.layout_one)
60 | list.add(R.layout.layout_two)
61 | list.add(R.layout.layout_three)
62 |
63 |
64 | with(binding.materialintroView) {
65 | setViewsList(list)
66 | nextAnimation = IntroAnimation.Fade
67 | previousAnimation = IntroAnimation.Fade
68 | nextDuration = 500
69 | previousDuration = 500
70 | }
71 |
72 |
73 | // go next view with animation
74 | binding.nextButton.setOnClickListener {
75 | binding.materialIntroFragment.next()
76 | }
77 |
78 | // go previous view with animation
79 | binding.backButton.setOnClickListener {
80 | binding.materialIntroFragment.previous()
81 | }
82 | ```
83 |
84 |
85 |
86 | ## SetUp for Fragments
87 |
88 |
89 |
90 | ```xml
91 |
95 |
96 | ```
97 |
98 |
99 | ```kotlin
100 | //add fragments into list
101 | list.add(FragmentOne())
102 | list.add(FragmentTwo())
103 | list.add(FragmentThree())
104 |
105 | binding.materialIntroFragment.apply {
106 | setFragmentsList(list)
107 | enterAnimation = IntroAnimation.SharedAxisXForward
108 |
109 | enterDuration = 500
110 |
111 | }
112 |
113 |
114 | // go next view with animation
115 | binding.nextButton.setOnClickListener {
116 | binding.materialintroView.next()
117 | }
118 |
119 | // go previous view with animation
120 | binding.backButton.setOnClickListener {
121 | binding.materialintroView.previous()
122 | }
123 | ```
124 |
125 |
126 |
127 | ## Supported Animations
128 |
129 | ```kotlin
130 |
131 | IntroAnimation.None
132 | IntroAnimation.FadeThrough
133 | IntroAnimation.Fade
134 | IntroAnimation.SharedAxisXForward
135 | IntroAnimation.SharedAxisYForward
136 | IntroAnimation.SharedAxisZForward
137 | IntroAnimation.SharedAxisXBackward
138 | IntroAnimation.SharedAxisYBackward
139 | IntroAnimation.SharedAxisZBackward
140 | IntroAnimation.ElevationScaleGrow
141 | IntroAnimation.ElevationScale
142 | ```
143 |
144 | ## Create using Builder
145 |
146 |
147 |
148 |
149 | We can create the MaterialIntro using MaterialIntro.Builder.
150 |
151 | ```kotlin
152 | val meta = MaterialIntroFragment.Builder(this)
153 | .setFragmentsList(list)
154 | .setEnterAnimation(IntroAnimation.Fade)
155 | .setEnterDuration(300)
156 | .setEnterOverlap(true)
157 | .build()
158 |
159 | meta.next()
160 | meta.previous()
161 | ```
162 | This is how to create an instance of the MaterialIntro using kotlin dsl.
163 | ```kotlin
164 |
165 | val meta = materialIntroFragment(this) {
166 | setFragmentsList(list)
167 | setEnterAnimation(IntroAnimation.Fade)
168 | setEnterDuration(300)
169 | setEnterOverlap(true)
170 | build()
171 | }
172 | meta.next()
173 | meta.previous()
174 | ```
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 | ## MaterialFade
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 | ## Fade
191 |
192 |
193 |
194 |
195 |
196 | ## SharedAxis
197 |
198 |
199 |
200 |
201 |
202 |
203 | Card icons created by Freepik - Flaticon
204 |
205 |
206 |
207 | ## Find this library useful? :heart:
208 | Support it by joining __[stargazers](https://github.com/androidpoet/MaterialIntro/stargazers)__ for this repository. :star:
209 |
210 |
211 |
212 |
213 | # License
214 | ```xml
215 | Copyright 2022 AndroidPoet (Ranbir Singh)
216 |
217 | Licensed under the Apache License, Version 2.0 (the "License");
218 | you may not use this file except in compliance with the License.
219 | You may obtain a copy of the License at
220 |
221 | http://www.apache.org/licenses/LICENSE-2.0
222 |
223 | Unless required by applicable law or agreed to in writing, software
224 | distributed under the License is distributed on an "AS IS" BASIS,
225 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
226 | See the License for the specific language governing permissions and
227 | limitations under the License.
228 | ```
229 |
230 |
231 |
232 |
233 |
234 |
235 |
--------------------------------------------------------------------------------
/materialintro/src/main/java/com/androidpoet/materialintro/MaterialIntroFragment.kt:
--------------------------------------------------------------------------------
1 |
2 | package com.androidpoet.materialintro
3 |
4 | import android.content.Context
5 | import android.util.AttributeSet
6 | import android.view.View
7 | import android.widget.FrameLayout
8 | import androidx.annotation.MainThread
9 | import androidx.fragment.app.Fragment
10 | import androidx.fragment.app.commit
11 | import com.androidpoet.metaphor.IntroAnimation
12 |
13 | @DslMarker
14 | internal annotation class MaterialFragmentInlineDsl
15 |
16 | /**
17 | * Creates an instance of the [MaterialIntroFragment] by scope of the [MaterialIntroFragment.Builder] using kotlin dsl.
18 | *
19 | * @param Context A context for creating resources of the [MaterialIntroFragment].
20 | * @param block A dsl scope lambda from the [MaterialIntroFragment.Builder].
21 | * */
22 | @MainThread
23 | @JvmSynthetic
24 | @MaterialFragmentInlineDsl
25 | public inline fun materialIntroFragment(
26 | context: Context,
27 | crossinline block: MaterialIntroFragment.Builder.() -> Unit
28 | ): MaterialIntroFragment =
29 | MaterialIntroFragment.Builder(context).apply(block).build()
30 |
31 | /**
32 | * MetaphorFragment implements material motion animations.
33 | *
34 | * @see [MaterialIntroFragment](https://github.com/AndroidPoet/Metaphor)
35 | *
36 | * @param builder A [MaterialIntroFragment.Builder] for creating an instance of the [MaterialIntroFragment].
37 | */
38 | public class MaterialIntroFragment : FrameLayout {
39 |
40 | /** fragments list. */
41 |
42 | public var fragmentList: MutableList = mutableListOf()
43 |
44 | /**current fragment index */
45 | private var index: Int = 0
46 |
47 | /** duration of enter the animations. */
48 | public var enterDuration: Long = 300
49 |
50 | /** duration of reenter the animations. */
51 | public var reenterDuration: Long = 300
52 |
53 | /** duration of exit the animations. */
54 | public var exitDuration: Long = 300
55 |
56 | /** duration of return the animations. */
57 | public var returnDuration: Long = 300
58 |
59 | /** Enter Animation of fragment. */
60 | public var enterAnimation: IntroAnimation = IntroAnimation.None
61 |
62 | /** Enter AnimationOverlap of fragment. */
63 | public var enterTransitionOverlap: Boolean = false
64 |
65 | /** Return AnimationOverlap of fragment. */
66 | public var returnTransitionOverlap: Boolean = false
67 |
68 | /** interface for listening to the progress is changed. */
69 | private var onIndexChangeListener: OnIndexChangeListener? = null
70 |
71 | /** sets a progress change listener. */
72 | public fun setOnIndexChangeListener(onIndexChangeListener: OnIndexChangeListener) {
73 | this.onIndexChangeListener = onIndexChangeListener
74 | }
75 |
76 | /** sets a progress change listener. */
77 | @JvmSynthetic
78 | public fun setOnIndexChangeListener(block: (Int) -> Unit) {
79 | this.onIndexChangeListener = OnIndexChangeListener { index -> block(index) }
80 | }
81 |
82 | init {
83 | val v: View = inflate(context, R.layout.materialintro, this)
84 |
85 | post {
86 | if (fragmentList.isNotEmpty()) {
87 | if (fragmentList.isNotEmpty()) {
88 | showFragment(fragmentList[0])
89 | }
90 | }
91 | }
92 | }
93 |
94 | public constructor(context: Context) : super(context)
95 |
96 | public constructor(
97 | context: Context,
98 | attributeSet: AttributeSet
99 | ) : this(context, attributeSet, 0)
100 |
101 | public constructor(
102 | context: Context,
103 | attributeSet: AttributeSet,
104 | defStyle: Int
105 | ) : super(
106 | context,
107 | attributeSet,
108 | defStyle
109 | ) {
110 | }
111 |
112 | /** Builder class for [MaterialIntroView]. */
113 | @MaterialIntroViewInlineDsl
114 | public class Builder(context: Context) {
115 | private val materialIntroFragment = MaterialIntroFragment(context)
116 |
117 | /** sets the duration of the Animation. */
118 | public fun setEnterDuration(value: Long): Builder =
119 | apply { this.materialIntroFragment.enterDuration = value }
120 |
121 | /** sets the duration of the Animation. */
122 | public fun setExitDuration(value: Long): Builder =
123 | apply { this.materialIntroFragment.exitDuration = value }
124 |
125 | /** sets the duration of the Animation. */
126 | public fun setReenterDuration(value: Long): Builder =
127 | apply { this.materialIntroFragment.reenterDuration = value }
128 |
129 | /** sets the duration of the Animation. */
130 | public fun setReturnDuration(value: Long): Builder =
131 | apply { this.materialIntroFragment.returnDuration = value }
132 |
133 | /** sets enter the Animation of the Fragment. */
134 | public fun setEnterAnimation(value: IntroAnimation): Builder =
135 | apply { this.materialIntroFragment.enterAnimation = value }
136 |
137 | /** sets the enter Overlap of the Fragment. */
138 | public fun setEnterOverlap(value: Boolean): Builder =
139 | apply { this.materialIntroFragment.enterTransitionOverlap = value }
140 |
141 | /** sets the return Overlap of the Fragment. */
142 | public fun setReturnOverlap(value: Boolean): Builder =
143 | apply { this.materialIntroFragment.returnTransitionOverlap = value }
144 |
145 | /** sets the ScrimColor of the Fragment. */
146 | public fun setFragmentList(value: MutableList): Builder =
147 | apply { this.materialIntroFragment.fragmentList = value }
148 |
149 | public fun setOnIndexChangeListener(value: OnIndexChangeListener): Builder = apply {
150 | this.materialIntroFragment.onIndexChangeListener = value
151 | }
152 |
153 | @JvmSynthetic
154 | public fun setOnIndexChangeListener(block: (Int) -> Unit): Builder = apply {
155 | this.materialIntroFragment.onIndexChangeListener =
156 | OnIndexChangeListener { index -> block(index) }
157 | }
158 |
159 | public fun build(): MaterialIntroFragment = materialIntroFragment
160 | }
161 |
162 | /*go to previous fragment*/
163 | public fun previous() {
164 | if (indexExists(fragmentList, index - 1)) {
165 | index -= 1
166 | showFragment(fragmentList[index])
167 | onIndexChangeListener?.onChange(index)
168 | }
169 | }
170 |
171 | /*go to next fragment*/
172 |
173 | public fun next() {
174 |
175 | if (indexExists(fragmentList, index + 1)) {
176 | index += 1
177 | showFragment(fragmentList[index])
178 | onIndexChangeListener?.onChange(index)
179 | }
180 | }
181 |
182 | /*check index is valid or not*/
183 | private fun indexExists(list: List<*>, index: Int): Boolean {
184 | return index >= 0 && index < list.size
185 | }
186 |
187 | /** starts animation. */
188 | private fun showFragment(fragment: Fragment) {
189 | fragment.applyAnimation(this)
190 |
191 | /*replace fragment with currant fragment*/
192 | context.activity()?.supportFragmentManager?.commit {
193 | replace(R.id.fragment_container, fragment)
194 | }
195 | }
196 |
197 | /*set views list*/
198 | public fun setFragmentsList(list: List) {
199 | fragmentList.clear()
200 | fragmentList.addAll(list)
201 | }
202 | }
203 |
--------------------------------------------------------------------------------
/materialintro/api/materialintro.api:
--------------------------------------------------------------------------------
1 | public final class com/androidpoet/materialintro/AnimationsExtenstionsKt {
2 | public static final fun activity (Landroid/content/Context;)Landroidx/appcompat/app/AppCompatActivity;
3 | public static final fun showScene (ILcom/androidpoet/metaphor/IntroAnimation;JLandroid/view/ViewGroup;)V
4 | }
5 |
6 | public final class com/androidpoet/materialintro/BuildConfig {
7 | public static final field BUILD_TYPE Ljava/lang/String;
8 | public static final field DEBUG Z
9 | public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String;
10 | public fun ()V
11 | }
12 |
13 | public final class com/androidpoet/materialintro/IntroInterpolator : java/lang/Enum {
14 | public static final field Accelerated Lcom/androidpoet/materialintro/IntroInterpolator;
15 | public static final field Decelerated Lcom/androidpoet/materialintro/IntroInterpolator;
16 | public static final field Emphasized Lcom/androidpoet/materialintro/IntroInterpolator;
17 | public static final field Linear Lcom/androidpoet/materialintro/IntroInterpolator;
18 | public static final field Standard Lcom/androidpoet/materialintro/IntroInterpolator;
19 | public final fun getValue ()I
20 | public static fun valueOf (Ljava/lang/String;)Lcom/androidpoet/materialintro/IntroInterpolator;
21 | public static fun values ()[Lcom/androidpoet/materialintro/IntroInterpolator;
22 | }
23 |
24 | public final class com/androidpoet/materialintro/MaterialIntroFragment : android/widget/FrameLayout {
25 | public fun (Landroid/content/Context;)V
26 | public fun (Landroid/content/Context;Landroid/util/AttributeSet;)V
27 | public fun (Landroid/content/Context;Landroid/util/AttributeSet;I)V
28 | public final fun getEnterAnimation ()Lcom/androidpoet/metaphor/IntroAnimation;
29 | public final fun getEnterDuration ()J
30 | public final fun getEnterTransitionOverlap ()Z
31 | public final fun getExitDuration ()J
32 | public final fun getFragmentList ()Ljava/util/List;
33 | public final fun getReenterDuration ()J
34 | public final fun getReturnDuration ()J
35 | public final fun getReturnTransitionOverlap ()Z
36 | public final fun next ()V
37 | public final fun previous ()V
38 | public final fun setEnterAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)V
39 | public final fun setEnterDuration (J)V
40 | public final fun setEnterTransitionOverlap (Z)V
41 | public final fun setExitDuration (J)V
42 | public final fun setFragmentList (Ljava/util/List;)V
43 | public final fun setFragmentsList (Ljava/util/List;)V
44 | public final fun setOnIndexChangeListener (Lcom/androidpoet/materialintro/OnIndexChangeListener;)V
45 | public final synthetic fun setOnIndexChangeListener (Lkotlin/jvm/functions/Function1;)V
46 | public final fun setReenterDuration (J)V
47 | public final fun setReturnDuration (J)V
48 | public final fun setReturnTransitionOverlap (Z)V
49 | }
50 |
51 | public final class com/androidpoet/materialintro/MaterialIntroFragment$Builder {
52 | public fun (Landroid/content/Context;)V
53 | public final fun build ()Lcom/androidpoet/materialintro/MaterialIntroFragment;
54 | public final fun setEnterAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
55 | public final fun setEnterDuration (J)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
56 | public final fun setEnterOverlap (Z)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
57 | public final fun setExitDuration (J)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
58 | public final fun setFragmentList (Ljava/util/List;)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
59 | public final fun setOnIndexChangeListener (Lcom/androidpoet/materialintro/OnIndexChangeListener;)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
60 | public final synthetic fun setOnIndexChangeListener (Lkotlin/jvm/functions/Function1;)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
61 | public final fun setReenterDuration (J)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
62 | public final fun setReturnDuration (J)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
63 | public final fun setReturnOverlap (Z)Lcom/androidpoet/materialintro/MaterialIntroFragment$Builder;
64 | }
65 |
66 | public final class com/androidpoet/materialintro/MaterialIntroFragmentKt {
67 | public static final synthetic fun materialIntroFragment (Landroid/content/Context;Lkotlin/jvm/functions/Function1;)Lcom/androidpoet/materialintro/MaterialIntroFragment;
68 | }
69 |
70 | public final class com/androidpoet/materialintro/MaterialIntroView : android/widget/FrameLayout {
71 | public fun (Landroid/content/Context;)V
72 | public fun (Landroid/content/Context;Landroid/util/AttributeSet;)V
73 | public fun (Landroid/content/Context;Landroid/util/AttributeSet;I)V
74 | public final fun getEnterTransitionOverlap ()Z
75 | public final fun getIndex ()I
76 | public final fun getLayoutList ()Ljava/util/List;
77 | public final fun getNextAnimation ()Lcom/androidpoet/metaphor/IntroAnimation;
78 | public final fun getNextDuration ()J
79 | public final fun getPreviousAnimation ()Lcom/androidpoet/metaphor/IntroAnimation;
80 | public final fun getPreviousDuration ()J
81 | public final fun getReturnTransitionOverlap ()Z
82 | public final fun next ()V
83 | public final fun previous ()V
84 | public final fun setEnterTransitionOverlap (Z)V
85 | public final fun setIndex (I)V
86 | public final fun setLayoutList (Ljava/util/List;)V
87 | public final fun setNextAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)V
88 | public final fun setNextDuration (J)V
89 | public final fun setOnIndexChangeListener (Lcom/androidpoet/materialintro/OnIndexChangeListener;)V
90 | public final synthetic fun setOnIndexChangeListener (Lkotlin/jvm/functions/Function1;)V
91 | public final fun setPreviousAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)V
92 | public final fun setPreviousDuration (J)V
93 | public final fun setReturnTransitionOverlap (Z)V
94 | public final fun setViewsList (Ljava/util/List;)V
95 | }
96 |
97 | public final class com/androidpoet/materialintro/MaterialIntroView$Builder {
98 | public fun (Landroid/content/Context;)V
99 | public final fun build ()Lcom/androidpoet/materialintro/MaterialIntroView;
100 | public final fun setEnterDuration (J)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
101 | public final fun setExitDuration (J)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
102 | public final fun setNextAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
103 | public final fun setOnIndexChangeListener (Lcom/androidpoet/materialintro/OnIndexChangeListener;)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
104 | public final synthetic fun setOnIndexChangeListener (Lkotlin/jvm/functions/Function1;)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
105 | public final fun setPreviousAnimation (Lcom/androidpoet/metaphor/IntroAnimation;)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
106 | public final fun setViewsList (Ljava/util/List;)Lcom/androidpoet/materialintro/MaterialIntroView$Builder;
107 | }
108 |
109 | public final class com/androidpoet/materialintro/MaterialIntroViewKt {
110 | public static final synthetic fun materialIntroView (Landroid/content/Context;Lkotlin/jvm/functions/Function1;)Lcom/androidpoet/materialintro/MaterialIntroView;
111 | }
112 |
113 | public abstract interface class com/androidpoet/materialintro/OnIndexChangeListener {
114 | public abstract fun onChange (I)V
115 | }
116 |
117 | public final class com/androidpoet/metaphor/IntroAnimation : java/lang/Enum {
118 | public static final field ElevationScale Lcom/androidpoet/metaphor/IntroAnimation;
119 | public static final field ElevationScaleGrow Lcom/androidpoet/metaphor/IntroAnimation;
120 | public static final field Fade Lcom/androidpoet/metaphor/IntroAnimation;
121 | public static final field FadeThrough Lcom/androidpoet/metaphor/IntroAnimation;
122 | public static final field None Lcom/androidpoet/metaphor/IntroAnimation;
123 | public static final field SharedAxisXBackward Lcom/androidpoet/metaphor/IntroAnimation;
124 | public static final field SharedAxisXForward Lcom/androidpoet/metaphor/IntroAnimation;
125 | public static final field SharedAxisYBackward Lcom/androidpoet/metaphor/IntroAnimation;
126 | public static final field SharedAxisYForward Lcom/androidpoet/metaphor/IntroAnimation;
127 | public static final field SharedAxisZBackward Lcom/androidpoet/metaphor/IntroAnimation;
128 | public static final field SharedAxisZForward Lcom/androidpoet/metaphor/IntroAnimation;
129 | public final fun getValue ()I
130 | public static fun valueOf (Ljava/lang/String;)Lcom/androidpoet/metaphor/IntroAnimation;
131 | public static fun values ()[Lcom/androidpoet/metaphor/IntroAnimation;
132 | }
133 |
134 |
--------------------------------------------------------------------------------