Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android
  3. Material Dots Indicators

Material Dots Indicators

Apache-2.0Kotlin

An Android library providing customizable dot indicators for ViewPagers, available for both Jetpack Compose and XML layouts.

GitHubGitHub
3.6k stars364 forks0 contributors

What is Material Dots Indicators?

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.

Target Audience

Android developers building apps with paged navigation, particularly those using ViewPager/ViewPager2 components in either Jetpack Compose or XML layouts.

Value Proposition

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.

Overview

Dots indicators for Android ViewPager and Compose

Use Cases

Best For

  • Adding visual page indicators to onboarding screens
  • Implementing navigation dots in image galleries or carousels
  • Creating Material Design-compliant pager interfaces
  • Building apps with both Compose and XML UI components
  • Developing Android apps with ViewPager2 support
  • Customizing indicator animations without writing custom view logic

Not Ideal For

  • Projects not using ViewPager or ViewPager2 for paged navigation
  • Apps requiring non-dot based indicators, such as line progress bars or numeric counters
  • Teams prioritizing minimal third-party dependencies over built-in Android components

Pros & Cons

Pros

Multiple Animation Styles

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.

Dual Framework Support

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.

High Customizability

Extensive attributes allow control over colors, sizes, spacing, corner radius, and animation parameters, detailed in custom attribute tables for each indicator type.

ViewPager2 Compatibility

Fully supports the modern ViewPager2 component alongside ViewPager, with an attachTo method that handles both, ensuring future-proofing.

Cons

Limited to Dots Only

Exclusively provides dot-based indicators; lacks support for other shapes or styles like lines or numbers, which might not suit all design requirements.

Dependency on ViewPager Ecosystem

Tied to Android's ViewPager components; if these become deprecated or replaced, the library's relevance could diminish over time.

Potential Breaking Changes

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.

Frequently Asked Questions

Quick Stats

Stars3,603
Forks364
Contributors0
Open Issues1
Last commit3 days ago
CreatedSince 2017

Tags

#jetpack-compose#android#indicator#android-library#kotlin-android#ui-components#viewpager#mobile-development#material-design#navigation-indicators#kotlin

Built With

A
Android
K
Kotlin
J
Jetpack Compose

Included in

Android12.0k
Auto-fetched 5 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub