androidx-auto-scroll-view-pager

Additional

Language
Kotlin
Version
N/A
Created
Sep 27, 2019
Updated
Dec 18, 2022
Owner
Paweł Zienowicz (pzienowicz)
Contributor
Paweł Zienowicz (pzienowicz)
1
Activity
Badge
Generate
Download
Source code

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 is getInterval().
  • startAutoScroll(int) start auto scroll delayed.
  • stopAutoScroll() stop auto scroll.

Settings

  • setInterval(long) set auto scroll time in milliseconds, default is 1500.
  • setDirection(Direction) set auto scroll direction, default is Direction.RIGHT.
  • setCycle(boolean) set whether automatic cycle when auto scroll reaching the last or first item, default is true.
  • 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 is SlideBorderMode.NONE.
  • setStopScrollWhenTouch(boolean) set whether stop auto scroll when touching, default is true.
  • setBorderAnimation(boolean) set whether animating when auto scroll at the last or first item, default is true.
  • 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: