# CircleIndicator **Repository Path**: djzhao/CircleIndicator ## Basic Information - **Project Name**: CircleIndicator - **Description**: A lightweight indicator like in nexus 5 launcher - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CircleIndicator =============== A lightweight indicator like in nexus 5 launcher [ ![Download](https://api.bintray.com/packages/ongakuer/maven/CircleIndicator/images/download.svg) ](https://bintray.com/ongakuer/maven/CircleIndicator/_latestVersion) Gradle ------------ ##### AndroidX ```groovy dependencies { implementation 'me.relex:circleindicator:2.1.4' } ``` ##### Android Support Library ```groovy dependencies { implementation 'me.relex:circleindicator:1.3.2' } ``` Usage -------- | Class | Widget | | --------------------------------------------- | ----------------------------- | | me.relex.circleindicator.CircleIndicator | ViewPager | | me.relex.circleindicator.CircleIndicator2 | RecyclerView | | me.relex.circleindicator.CircleIndicator3 | ViewPager2 *(AndroidX)* | ##### ViewPager (CircleIndicator) ```java ViewPager viewpager = (ViewPager) view.findViewById(R.id.viewpager); viewpager.setAdapter(adapter); CircleIndicator indicator = (CircleIndicator) view.findViewById(R.id.indicator); indicator.setViewPager(viewpager); // optional adapter.registerDataSetObserver(indicator.getDataSetObserver()); ``` ##### RecyclerView (CircleIndicator2) ```java RecyclerView recyclerView = view.findViewById(R.id.recycler_view); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); PagerSnapHelper pagerSnapHelper = new PagerSnapHelper(); pagerSnapHelper.attachToRecyclerView(recyclerView); CircleIndicator2 indicator = view.findViewById(R.id.indicator); indicator.attachToRecyclerView(recyclerView, pagerSnapHelper); // optional adapter.registerAdapterDataObserver(indicator.getAdapterDataObserver()); ``` ##### ViewPager2 (CircleIndicator3) ```java ViewPager2 viewpager = view.findViewById(R.id.viewpager); viewpager.setAdapter(mAdapter); CircleIndicator3 indicator = view.findViewById(R.id.indicator); indicator.setViewPager(viewpager); // optional adapter.registerAdapterDataObserver(indicator.getAdapterDataObserver()); ``` ##### Manual control ```java CircleIndicator indicator = view.findViewById(R.id.indicator); indicator.createIndicators(5,0); indicator.animatePageSelected(2) ``` XML Properties -------- ```xml ``` | 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 |