All Projects → tommybuonomo → Dotsindicator

tommybuonomo / Dotsindicator

Licence: apache-2.0
Three material Dots Indicators for view pagers in Android !

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Dotsindicator

MultiIndicator
多功能指示器,适用于ViewPager 多场景
Stars: ✭ 44 (-98.2%)
Mutual labels:  viewpager, indicator, viewpager-indicator
react-native-viewpager-indicator
修改自react-native-scrollable-tab-view,增加了根据文字内容适配下划线长度的功能。
Stars: ✭ 52 (-97.87%)
Mutual labels:  viewpager, indicator, viewpager-indicator
ArcPageIndicator
Android Page Indicator for ViewPager with original animations. It uses an ellipse to dispose indication spots, and can draw a hand, like in old elevators.
Stars: ✭ 73 (-97.02%)
Mutual labels:  viewpager, indicator, viewpager-indicator
IndicatorView
IndicatorView Library For Android
Stars: ✭ 41 (-98.32%)
Mutual labels:  viewpager, indicator, viewpager-indicator
Cmpagetitleview
✍️一分钟集成类似抖音,新浪微博,腾讯视频,网易新闻,今日头条等常见的标题栏样式,api灵活易扩展,支持Cocoapods和Masonry布局,支持ChildController的完整生命周期
Stars: ✭ 270 (-88.97%)
Mutual labels:  viewpager, indicator
Android-Universal-ViewPager-Indicator
Android Universal ViewPager Indicator
Stars: ✭ 41 (-98.32%)
Mutual labels:  viewpager, indicator
Viewpagerindicator
一个简单好用的ViewPagerIndicator,提供了六种类型,为viewpager添加酷炫效果,并且支持轮播图( A simple, cool, customizable ViewPagerIndicator.show cool indicator for viewpager , it also good for viewpager as carousel )
Stars: ✭ 366 (-85.04%)
Mutual labels:  viewpager, indicator
Pageindicatorview
An page indicator for Android ViewPager
Stars: ✭ 4,498 (+83.82%)
Mutual labels:  viewpager, viewpager-indicator
LoopBanner
一个简单好用且超轻量的自动轮播控件,支持UI风格完全自定义
Stars: ✭ 56 (-97.71%)
Mutual labels:  viewpager, viewpager-indicator
Banner
🔥🔥ViewPager,ViewPager2无限轮播功能。自定义Indicator,支持一屏三页,支持仿魅族banner效果。极其简单的使用方式
Stars: ✭ 393 (-83.94%)
Mutual labels:  viewpager, indicator
Material Viewpagerindicator
Dot-based Android ViewPager indicator with Material Design animations.
Stars: ✭ 511 (-79.12%)
Mutual labels:  material-design, viewpager
Rvpindicator
ViewPager指示器 实现联动,自身滚动,支持类型 : 下滑线,三角形,全背景,图片
Stars: ✭ 99 (-95.95%)
Mutual labels:  viewpager, indicator
Magicindicator
A powerful, customizable and extensible ViewPager indicator framework. As the best alternative of ViewPagerIndicator, TabLayout and PagerSlidingTabStrip —— 强大、可定制、易扩展的 ViewPager 指示器框架。是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品。支持角标,更支持在非ViewPager场景下使用(使用hide()、show()切换Fragment或使用setVisibility切换FrameLayout里的View等),http://www.jianshu…
Stars: ✭ 8,969 (+266.53%)
Mutual labels:  viewpager, indicator
Bubblepagerindicator
A view pager indicator view to deal with a large amount of pages.
Stars: ✭ 127 (-94.81%)
Mutual labels:  viewpager, indicator
Loopingviewpager
A ViewPager and PagerAdapter combination that support auto scroll, infinite loop and page indicators.
Stars: ✭ 310 (-87.33%)
Mutual labels:  viewpager, indicator
Walk-Through-Screen
This library provides easy ways to add onboarding or pager screens with different animation and indicators.
Stars: ✭ 31 (-98.73%)
Mutual labels:  viewpager, indicator
Scrollingpagerindicator
Pager indicator inspired by Instagram. Lightweight and easy to set up.
Stars: ✭ 419 (-82.88%)
Mutual labels:  viewpager, indicator
Cardslider
Card Slider is an android component allows you to implement carousel effect with infinite indicators and more features
Stars: ✭ 160 (-93.46%)
Mutual labels:  viewpager, indicator
stepper-indicator
Step indicator for onboarding or simple viewpager
Stars: ✭ 180 (-92.64%)
Mutual labels:  viewpager, viewpager-indicator
UnderlinePageIndicator
Paging indicator widget compatible with the ViewPager
Stars: ✭ 65 (-97.34%)
Mutual labels:  viewpager, viewpager-indicator

Material View Pager Dots Indicator

Android Arsenal awesome Download

This library makes it possible to represent View Pager Dots Indicator with 3 different awesome styles ! It supports ViewPager and ViewPager2

materialdots

Check out the sample demo: sampledemo

Don't forget to star the project if you like it! star == heart

Feel free to submit issues and enhancement requests !

ezgif com-optimize ezgif com-crop 8

How to

Gradle

dependencies {
    implementation 'com.tbuonomo:dotsindicator:4.2'
}

DotsIndicator

ezgif com-crop 1 ezgif com-crop 3

In your XML layout

<com.tbuonomo.viewpagerdotsindicator.DotsIndicator
    android:id="@+id/dots_indicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:dotsColor="@color/material_white"
    app:dotsCornerRadius="8dp"
    app:dotsSize="16dp"
    app:dotsSpacing="4dp"
    app:dotsWidthFactor="2.5"
    app:selectedDotColor="@color/md_blue_200"
    app:progressMode="true"
    />

Custom Attributes

Attribute Description
dotsColor Color of the dots
selectedDotColor Color of the selected dot (by default the dotsColor)
progressMode Lets the selected dot color to the dots behind the current one
dotsSize Size in dp of the dots (by default 16dp)
dotsSpacing Size in dp of the space between the dots (by default 4dp)
dotsWidthFactor The dots scale factor for page indication (by default 2.5)
dotsCornerRadius The dots corner radius (by default the half of dotsSize for circularity)

In your Java code

    dotsIndicator = (DotsIndicator) findViewById(R.id.dots_indicator);
    viewPager = (ViewPager) findViewById(R.id.view_pager);
    adapter = new ViewPagerAdapter();
    viewPager.setAdapter(adapter);
    dotsIndicator.setViewPager(viewPager);

In your Kotlin code

    val dotsIndicator = findViewById<WormDotsIndicator>(R.id.dots_indicator)
    val viewPager = findViewById<ViewPager>(R.id.view_pager)
    val adapter = ViewPagerAdapter()
    viewPager.adapter = adapter
    dotsIndicator.setViewPager(viewPager)

SpringDotsIndicator

ezgif com-crop 4 ezgif com-crop 5

In your XML layout

<com.tbuonomo.viewpagerdotsindicator.SpringDotsIndicator
    android:id="@+id/spring_dots_indicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:dampingRatio="0.5"
    app:dotsColor="@color/material_white"
    app:dotsStrokeColor="@color/material_yellow"
    app:dotsCornerRadius="2dp"
    app:dotsSize="16dp"
    app:dotsSpacing="6dp"
    app:dotsStrokeWidth="2dp"
    app:stiffness="300"
    />

Custom Attributes

Attribute Description
dotsColor Color of the indicator dot
dotsColor Color of the stroke dots (by default the indicator color)
dotsSize Size in dp of the dots (by default 16dp)
dotsSpacing Size in dp of the space between the dots (by default 4dp)
dotsCornerRadius The dots corner radius (by default the half of dotsSize for circularity)
dotsStrokeWidth The dots stroke width (by default 2dp)
dampingRatio The damping ratio of the spring force (by default 0.5)
stiffness The stiffness of the spring force (by default 300)

In your Java code

    springDotsIndicator = (SpringDotsIndicator) findViewById(R.id.spring_dots_indicator);
    viewPager = (ViewPager) findViewById(R.id.view_pager);
    adapter = new ViewPagerAdapter();
    viewPager.setAdapter(adapter);
    springDotsIndicator.setViewPager(viewPager);

In your Kotlin code

    val springDotsIndicator = findViewById<WormDotsIndicator>(R.id.spring_dots_indicator)
    val viewPager = findViewById<ViewPager>(R.id.view_pager)
    val adapter = ViewPagerAdapter()
    viewPager.adapter = adapter
    springDotsIndicator.setViewPager(viewPager)

WormDotsIndicator

ezgif com-crop 6 ezgif com-crop 7

In your XML layout

<com.tbuonomo.viewpagerdotsindicator.WormDotsIndicator
    android:id="@+id/worm_dots_indicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:dotsColor="@color/material_blueA200"
    app:dotsStrokeColor="@color/material_yellow"
    app:dotsCornerRadius="8dp"
    app:dotsSize="16dp"
    app:dotsSpacing="4dp"
    app:dotsStrokeWidth="2dp"
    />

Custom Attributes

Attribute Description
dotsColor Color of the indicator dot
dotsStrokeColor Color of the stroke dots (by default the indicator color)
dotsSize Size in dp of the dots (by default 16dp)
dotsSpacing Size in dp of the space between the dots (by default 4dp)
dotsCornerRadius The dots corner radius (by default the half of dotsSize for circularity)
dotsStrokeWidth The dots stroke width (by default 2dp)

In your Java code

    wormDotsIndicator = (WormDotsIndicator) findViewById(R.id.worm_dots_indicator);
    viewPager = (ViewPager) findViewById(R.id.view_pager);
    adapter = new ViewPagerAdapter();
    viewPager.setAdapter(adapter);
    wormDotsIndicator.setViewPager(viewPager);

In your Kotlin code

    val wormDotsIndicator = findViewById<WormDotsIndicator>(R.id.worm_dots_indicator)
    val viewPager = findViewById<ViewPager>(R.id.view_pager)
    val adapter = ViewPagerAdapter()
    viewPager.adapter = adapter
    wormDotsIndicator.setViewPager(viewPager)

Support of ViewPager2

Use setViewPager2(viewPager2) instead of setViewPager(viewPager)

Help Maintenance

If you could help me to continue maintain this repo, buying me a cup of coffee will make my life really happy and get much energy out of it.

Buy Me A Coffee

Changelog

4.2

Fix #115 The library is now on MavenCentral. The library name moves from com.tbuonomo.andrui:viewpagerdotsindicator to com.tbuonomo:dotsindicator

4.1.2

Fix #55 and #56

4.1.1

Fix crash

4.1

  • Support RTL (fix #32 and #51)

4.0

  • Support of ViewPager2 (fix #40)
  • Convert all the project to Kotlin
  • Migration to AndroidX
  • Fix #37: findViewById, causing missing adapter error

3.0.3

  • Fix #20: Dots indicator initialises with the wrong number of dots initially

3.0.2

  • Add attribute selectedDotColor and progressMode to DotsIndicator
  • Fix RTL issues and improve DotsIndicator globally

2.1.0

  • Add attribute dotsStrokeColor to SpringDotsIndicator and WormDotsIndicator

License

Copyright 2016 Tommy Buonomo

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].