CircularProgressView

Material style circular progress bar for Android

  • Owner: rahatarmanahmed/CircularProgressView
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Material CircularProgressView, Indeterminate, Determinate, :-------------:, :-----------:, Sample Indeterminate GIF, Sample Determinate GIF, ## Description

This CircularProgressView is a (surprisingly) circular progress bar Android View that is designed to imitate the Material versions of ProgressBar. These versions can be seen on this page of the Material design spec under Circular indicators.

Usage

To use CircularProgressView you must add it as a dependency in your Gradle build:

dependencies {
    compile 'com.github.rahatarmanahmed:circularprogressview:2.5.0'
}

Then add the view to your layout:

<com.github.rahatarmanahmed.cpv.CircularProgressView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/progress_view"
    android:layout_width="40dp"
    android:layout_height="40dp"
    app:cpv_animAutostart="true"
    app:cpv_indeterminate="true" />

That's all you need! If you don't want the CircularProgressView to automatically start animating, omit the app:cpv_animAutostart option and start it manually yourself:

CircularProgressView progressView = (CircularProgressView) findViewById(R.id.progress_view);
progressView.startAnimation();

A CircularProgressViewListener class is available for listening to some events (as well as a CircularProgressViewAdapter)., Event, Description, :----:, :-----------:, onProgressUpdate(float), Called when setProgress is called. (Determinate only), onProgressUpdateEnd(float), Called when this view finishes animating to the updated progress. (Determinate only), onAnimationReset(), Called when resetAnimation() is called., onModeChange(boolean), Called when you switch between indeterminate and determinate modes., ## Known Issues

CircularProgressView flickers when phone is in battery saving mode

This happens because battery saving mode automatically ends all Animators, but the ones in CPV run in an endless loop. The best way to work around this right now is to use the native ProgressBar for API >21, since that is when the battery saver mode was introduced. See this issue comment on how to accomplish this.

Changelog

v2.5.0

  • Added stopAnimation() method
  • Fixed view animating while not visible. Setting visibility to GONE or INVISIBLE will stop the animation. Setting to VISIBLE will restart it.

v2.4.0

  • Added cpv_startAngle attribute

v2.3.2

  • Fixed CPV stopping when View is recycled

v2.3.1

  • Fixed memory leak

v2.3.0

v2.2.1

  • Fixed ignoring the color #FFFFFF

v2.2.0

  • Now it uses the actual theme's accent color if possible by default.

v2.1.0

  • Fixed default thickness using 4px instead of 4dp

v2.0.1

  • Possible fix for drawArc NullPointerError
  • Slight performance improvements

v2.0.0

  • Removed unnecessary appcompat dependency from example
  • Fixed repaint issue by drawing smaller arcs

v1.0.0

  • Initial release

Main metrics

Overview
Name With Ownerrahatarmanahmed/CircularProgressView
Primary LanguageJava
Program languageJava (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-11-17 18:20:38
Pushed At2017-10-19 05:24:09
Last Commit At2017-10-19 07:24:08
Release Count11
Last Release Namev2.5.0 (Posted on )
First Release Namev1.0.0 (Posted on 2015-03-26 11:57:08)
用户参与
Stargazers Count757
Watchers Count32
Fork Count193
Commits Count66
Has Issues Enabled
Issues Count30
Issue Open Count3
Pull Requests Count8
Pull Requests Open Count0
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private