CircleProgressView for Android 是一个圆形的进度动画控件,动画效果纵享丝滑。
你也可以直接下载 演示App 体验效果
-
在Project的 build.gradle 或 setting.gradle 中添加远程仓库
repositories { //... mavenCentral() }
-
在Module的 build.gradle 中添加依赖项
implementation 'com.github.jenly1314:circleprogressview:1.1.3'
属性 | 值类型 | 默认值 | 说明 |
---|---|---|---|
cpvStrokeWidth | dimension | 12dp | 笔画描边的宽度 |
cpvNormalColor | color | #FFC8C8C8 | 圆正常颜色 |
cpvProgressColor | color | #FF4FEAAC | 圆进度颜色 |
cpvStartAngle | integer | 270 | 开始角度,默认十二点钟方向 |
cpvSweepAngle | integer | 360 | 扫描角度范围 |
cpvMax | integer | 100 | 进度最大值 |
cpvProgress | integer | 0 | 当前进度 |
cpvDuration | integer | 500 | 动画时长 |
cpvLabelText | string | 中间的标签文本,默认自动显示百分比 | |
cpvLabelTextColor | color | #FF333333 | 文本字体颜色 |
cpvLabelTextSize | dimension | 30sp | 文本字体大小 |
cpvShowLabel | boolean | true | 是否显示文本 |
cpvShowTick | boolean | true | 是否显示外环刻度 |
cpvCirclePadding | dimension | 10dp | 外圆环刻度与内圆环间距 |
cpvTickSplitAngle | integer | 5 | 刻度间隔的角度大小 |
cpvBlockAngle | integer | 1 | 刻度的角度大小 |
cpvTickOffsetAngle | integer | 0 | 刻度偏移的角度大小 |
cpvTurn | boolean | false | 是否旋转 |
cpvCapRound | boolean | true | 是否是圆形线冒(圆角弧度) |
cpvLabelPaddingLeft | dimension | 0dp | 文本居左边内间距 |
cpvLabelPaddingTop | dimension | 0dp | 文本居顶边内间距 |
cpvLabelPaddingRight | dimension | 0dp | 文本居右边内间距 |
cpvLabelPaddingBottom | dimension | 0dp | 文本居底边内间距 |
布局示例
<com.king.view.circleprogressview.CircleProgressView
android:id="@+id/cpv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
代码示例
//显示进度动画,进度,动画时长
circleProgressView.showAnimation(80,3000);
//设置当前进度
circleProgressView.setProgress(80);
//设置进度改变监听
circleProgressView.setOnChangeListener(onChangeListener);
更多使用详情,请查看app中的源码使用示例或直接查看 API帮助文档
- ArcSeekBar 一个弧形的拖动条进度控件,配置参数完全可定制化。
- SpinCounterView 一个类似码表变化的旋转计数器动画控件。
- CounterView 一个数字变化效果的计数器视图控件。
- RadarView 一个雷达扫描动画后,然后展示得分效果的控件。
- SuperTextView 一个在TextView的基础上扩展了几种动画效果的控件。
- LoadingView 一个圆弧加载过渡动画,圆弧个数,大小,弧度,渐变颜色,完全可配。
- WaveView 一个水波纹动画控件视图,支持波纹数,波纹振幅,波纹颜色,波纹速度,波纹方向等属性完全可配。
- GiftSurfaceView 一个适用于直播间送礼物拼图案的动画控件。
- FlutteringLayout 一个适用于直播间点赞桃心飘动效果的控件。
- DragPolygonView 一个支持可拖动多边形,支持通过拖拽多边形的角改变其形状的任意多边形控件。
- DrawBoard 一个自定义View实现的画板;方便对图片进行编辑和各种涂鸦相关操作。
- compose-component 一个Jetpack Compose的组件库;主要提供了一些小组件,便于快速使用。
- 对外暴露更多getter和setter方法
- 新增cpvTickOffsetAngle属性
- 优化设置渐变色过程处理
- 新增cpvLabelPadding..相关属性
- 移除appcompat依赖
- 新增cpvTurn属性(是否旋转)
- CircleProgressView初始版本