Dots Indicator for Viewpager made easy — Android!
- Deepan
- Oct 6, 2018
- 1 min read

Implementing seamless and smooth dots indicator for your custom viewpager component in a android project is kinda tricky and time consuming. So I took the pleasure of developing a library — “Dots”, that helps you with the exact same thing but in the most effortless way that one could possibly achieve doing it. It combines the usage of observers and state drawables to indicate the current visible page’s position in a badass way. Let’s see what’s in store for us while using my library ;)
How do we do it?
(1) In your app module gradle file,
dependencies {
implementation ‘com.github.tizisdeepan:dots:1.0.1’
}
(2) In your project level gradle file,
allprojects {
repositories {
maven { url ‘https://jitpack.io' }
}
}
(3) Use DotsIndicator in your layout.xml
<com.make.dots.dotsindicator.DotsIndicator
android:id=”@+id/dotsIndicator”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginBottom=”12dp”
android:background=”@drawable/dots_background”
android:padding=”6dp”
app:dot_drawable=”@drawable/ic_dot_darkgrey”
app:dot_drawable_unselected=”@drawable/ic_dot_lightgrey”
app:dot_height=”8dp”
app:dot_margin=”6dp”
app:dot_width=”8dp” />
(4) Link the View Pager with the Dots Indicator in your Java / Kotlin code
dotsIndicator.setViewPager(imageViewPager)
imageViewPager.adapter?.registerDataSetObserver(dotsIndicator.dataSetObserver)
For your reference ;)
XML
dot_drawable: Drawable that is used to indicated the current selected page
dot_drawable_unselected: Drawable that is used to indicated the unselected pages
dot_height: Height of the Dot indicator in dp
dot_width: Width of the Dot indicator in dp
dot_margin: Marginal spaces between the Dots
Kotlin / Java
// This attaches the DotsIndicator with the ViewPager
DotsIndicator.setViewPager(ViewPager)
Voila! You have implemented a simple Dots indicator for your View Pager component now!
Profile: https://github.com/tizisdeepan
Linkedin: www.linkedin.com/in/tizisdeepan
コメント