材质CircularProgressView不确定确定
描述
这个CircularProgressView是一个( 令人惊奇) 循环进度栏安卓视图,用于模仿ProgressBar的材质版本。 这些版本可以在上看到,这是在圆形指示器下的材质设计规范的。
用法
要使用 CircularProgressView,必须将它的作为依赖项添加到Gradle生成中:dependencies {
compile 'com.github.rahatarmanahmed:circularprogressview:2.5.0'}
然后将视图添加到布局中:
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"/>
这就是你所需要的如果不希望CircularProgressView自动启动动画,省略 app:cpv_animAutostart 选项并手动启动它: !CircularProgressView progressView = (CircularProgressView) findViewById(R.id.progress_view);
progressView.startAnimation();
XML属性名称类型默认说明cpv_progress浮点数0进度栏的当前进度。
cpv_maxProgress浮点数100进度条的最大进度;被认为是栏的100%。
cpv_thickness维度4px进度条的厚度。
cpv_color颜色主题颜色的重音如果不可用,则材质蓝色 500 ( #2196F3 )进度条的颜色。
cpv_indeterminate布尔型false这里进度条是否不确定或者不确定。 如果不确定,这里视图上的进度集将不会产生任何影响。
cpv_animDuration整型4000不确定进度条动画的持续时间以毫秒为单位。 它是不确定动画所有"步骤"的持续时间。 ( 仅不确定)
cpv_animSwoopDuration整型5000确定动画初始弹出的持续时间。 ( 仅确定)
cpv_animSyncDuration整型500确定进度更新动画的持续时间。 使用 setUpdate(int) 时,视图需要多长时间才能完成该进程的动画。 ( 仅确定)
cpv_animSteps整型3不确定动画( 在回到原来的位置之前,它有多少次) 中的"步骤"数。 建议使用奇数,因为连续步数之后的步骤数在一半之后是相同的。
cpv_animAutostart布尔型false这里进度条初始化后是否自动启动动画。
cpv_startAngle浮点数0进度条的起始角度。 ( 仅确定)
public-方法名称 描述isIndeterminate ( )如果进度条不确定,则返回 true ;如果确定,则返回 false。
setIndeterminate ( 布尔)设置这里进度条是否不确定或者不确定。 如果值更改,将重置动画
getThickness ( )获取进度条的厚度。
setThickness ( int )设置进度条的厚度。
getColor ( )获取进度条的颜色。
setColor ( int )设置进度条的颜色。
getMaxProgress ( )获取进度栏的最大进度。
setMaxProgress ( 浮点)设置进度栏的最大进度。
getProgress ( )获取进度条的当前进度。
setProgress ( 浮点)设置进度栏的当前进度。 ( 将线性设置更新的动画。)
startAnimation ( )启动进度条的动画。 ( resetAnimation ( )的别名)。
resetAnimation ( )重置进度条的动画。
stopAnimation ( )停止进度栏的动画。
取消签名( CircularProgressViewListener )使用这里视图注册 CircularProgressViewListener。
可塑性( CircularProgressViewListener )使用这里视图注销 CircularProgressViewListener。
侦听器事件。onProgressUpdate ( 浮点)调用setProgress时调用。 ( 仅确定)
onProgressUpdateEnd ( 浮点)当这里视图完成对已经更新进度的动画处理时调用。 ( 仅确定)
onAnimationReset ( )调用 resetAnimation() 时调用。
onModeChange ( 布尔)当你在不确定模式和确定模式之间进行 switch 时调用。
已知问题
当手机处于充电模式时, CircularProgressView闪烁
这是因为电池保存模式会自动结束所有动画,但是在一个无限循环中,这些。 解决这一问题的最佳方法是使用本地ProgressBar作为 API> 21,这是因为在引入了电池保护模式时。 关于如何完成这个问题,请参见 。
变更日志
v2.5.0添加了 stopAnimation() 方法
不可见时固定视图动画。 将可见性设置为已经消失或者不可见将停止动画。 设置为可见将重新启动它。
v2.4.0添加了cpv_startAngle属性
v2.3.2在回收视图时固定CPV停止
v2.3.1固定内存泄漏
v2.3.0
v2.2.1修正了颜色 #FFFFFF
v2.2.0现在,如果可能的话,它使用主题颜色的实际重音。
v2.1.0使用 4px 代替 4 dp固定默认厚度
v2.0.1drawArc NullPointerError的可能修复
提高性能
v2.0.0从示例中移除不必要的appcompat依赖项
通过绘制较小的圆弧修复了重绘问题
v1.0.0初始版本