Awesome
Androidx Auto Scroll ViewPager
- ViewPager which can auto scrolling, cycling, decelerating.
- ViewPager which can be slided manually in parent ViewPager.
- ViewPager which is compatible with AndroidX library.
- ViewPager which is written in Kotlin and be supported for a long time.
Thanks
Many thanks to Trinea because this library is the newest, kotlin version of his library. We support AndroidX library, so if you have problem when migrating to AndroidX, this version should work like a charm.
Installation
Gradle
Add this to your root build.gradle file under repositories:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
Add this to your app level build.gradle as dependency:
implementation 'com.github.pzienowicz:androidx-auto-scroll-view-pager:{latest.version}'
Latest version:
Usage
- include this library
- use below code
<pl.pzienowicz.autoscrollviewpager.AutoScrollViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
instead of
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Functions
startAutoScroll()
start auto scroll, delay time isgetInterval()
.startAutoScroll(int)
start auto scroll delayed.stopAutoScroll()
stop auto scroll.
Settings
setInterval(long)
set auto scroll time in milliseconds, default is1500
.setDirection(Direction)
set auto scroll direction, default isDirection.RIGHT
.setCycle(boolean)
set whether automatic cycle when auto scroll reaching the last or first item, default istrue
.setScrollDurationFactor(double)
set the factor by which the duration of sliding animation will change.setSlideBorderMode(SlideBorderMode)
set how to process when sliding at the last or first item, default isSlideBorderMode.NONE
.setStopScrollWhenTouch(boolean)
set whether stop auto scroll when touching, default istrue
.setBorderAnimation(boolean)
set whether animating when auto scroll at the last or first item, default istrue
.- You cannot combine with ViewPagerIndicator if
setCycle(true)
.
Proguard
-keep class pl.pzienowicz.** { *; }
-keepclassmembers class pl.pzienowicz.** { *; }
-dontwarn pl.pzienowicz.**
Example
Please check example app contained in this repository. This is how it looks like: