A lightweight indicator like in nexus 5 launcher
dependencies{implementation 'me.relex:circleindicator:2.1.6' }dependencies{implementation 'me.relex:circleindicator:1.3.2' }| Class | Widget |
|---|---|
| me.relex.circleindicator.CircleIndicator | ViewPager |
| me.relex.circleindicator.CircleIndicator2 | RecyclerView |
| me.relex.circleindicator.CircleIndicator3 | ViewPager2 (AndroidX) |
ViewPagerviewpager = (ViewPager) view.findViewById(R.id.viewpager); viewpager.setAdapter(adapter); CircleIndicatorindicator = (CircleIndicator) view.findViewById(R.id.indicator); indicator.setViewPager(viewpager); // optionaladapter.registerDataSetObserver(indicator.getDataSetObserver());RecyclerViewrecyclerView = view.findViewById(R.id.recycler_view); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); PagerSnapHelperpagerSnapHelper = newPagerSnapHelper(); pagerSnapHelper.attachToRecyclerView(recyclerView); CircleIndicator2indicator = view.findViewById(R.id.indicator); indicator.attachToRecyclerView(recyclerView, pagerSnapHelper); // optionaladapter.registerAdapterDataObserver(indicator.getAdapterDataObserver());ViewPager2viewpager = view.findViewById(R.id.viewpager); viewpager.setAdapter(mAdapter); CircleIndicator3indicator = view.findViewById(R.id.indicator); indicator.setViewPager(viewpager); // optionaladapter.registerAdapterDataObserver(indicator.getAdapterDataObserver());CircleIndicatorindicator = view.findViewById(R.id.indicator); indicator.createIndicators(5,0); indicator.animatePageSelected(2)<me.relex.circleindicator.CircleIndicator android:id="@+id/indicator" android:layout_width="match_parent" android:layout_height="48dp"/>| Properties | Default Value |
|---|---|
| app:ci_width | 5dp |
| app:ci_height | 5dp |
| app:ci_margin | 5dp |
| app:ci_drawable | R.drawable.white_radius |
| app:ci_drawable_unselected | R.drawable.white_radius |
| app:ci_animator | R.animator.scale_with_alpha |
| app:ci_animator_reverse | 0 |
| app:ci_orientation | horizontal |
| app:ci_gravity | center |
