An Android library providing customizable dot indicators for ViewPagers, available for both Jetpack Compose and XML layouts.
DotsIndicator is an Android library that provides animated dot indicators for ViewPagers and ViewPager2. It solves the problem of creating visually appealing and functional page position indicators in Android apps, offering multiple animation styles and extensive customization options. The library supports both modern Jetpack Compose and traditional XML-based UI development.
Android developers building apps with paged navigation, particularly those using ViewPager/ViewPager2 components in either Jetpack Compose or XML layouts.
Developers choose DotsIndicator for its variety of pre-built, Material Design-inspired indicator styles, dual framework support, and extensive customization capabilities—saving development time compared to building custom indicators from scratch.
Three material Dots Indicators for view pagers in Android !
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers four distinct animated types—Shift, Spring, Worm, and Balloon—each with unique visual effects demonstrated in the README's GIFs, providing variety out of the box.
Compatible with both Jetpack Compose via composables and XML layouts, as shown in separate code snippets, making it versatile for modern and legacy Android development.
Extensive attributes allow control over colors, sizes, spacing, corner radius, and animation parameters, detailed in custom attribute tables for each indicator type.
Fully supports the modern ViewPager2 component alongside ViewPager, with an attachTo method that handles both, ensuring future-proofing.
Exclusively provides dot-based indicators; lacks support for other shapes or styles like lines or numbers, which might not suit all design requirements.
Tied to Android's ViewPager components; if these become deprecated or replaced, the library's relevance could diminish over time.
Historical updates, such as the migration to Kotlin and AndroidX in version 4.0 and deprecation of methods, indicate that major versions may require code adjustments.