CircleProgressView

May 14, 2025 · View on GitHub

MavenCentral JitPack CI Download API License

CircleProgressView for Android 是一个圆形的进度动画控件,动画效果纵享丝滑。

效果展示

Image

你也可以直接下载 演示App 体验效果

引入

Gradle:

  1. 在Project的 build.gradlesetting.gradle 中添加远程仓库

    repositories {
        //...
        mavenCentral()
    }
    
  2. 在Module的 build.gradle 中添加依赖项

    implementation 'com.github.jenly1314:circleprogressview:1.1.3'
    

使用

CircleProgressView自定义属性说明(进度默认渐变色)

属性值类型默认值说明
cpvStrokeWidthdimension12dp笔画描边的宽度
cpvNormalColorcolor#FFC8C8C8圆正常颜色
cpvProgressColorcolor#FF4FEAAC圆进度颜色
cpvStartAngleinteger270开始角度,默认十二点钟方向
cpvSweepAngleinteger360扫描角度范围
cpvMaxinteger100进度最大值
cpvProgressinteger0当前进度
cpvDurationinteger500动画时长
cpvLabelTextstring中间的标签文本,默认自动显示百分比
cpvLabelTextColorcolor#FF333333文本字体颜色
cpvLabelTextSizedimension30sp文本字体大小
cpvShowLabelbooleantrue是否显示文本
cpvShowTickbooleantrue是否显示外环刻度
cpvCirclePaddingdimension10dp外圆环刻度与内圆环间距
cpvTickSplitAngleinteger5刻度间隔的角度大小
cpvBlockAngleinteger1刻度的角度大小
cpvTickOffsetAngleinteger0刻度偏移的角度大小
cpvTurnbooleanfalse是否旋转
cpvCapRoundbooleantrue是否是圆形线冒(圆角弧度)
cpvLabelPaddingLeftdimension0dp文本居左边内间距
cpvLabelPaddingTopdimension0dp文本居顶边内间距
cpvLabelPaddingRightdimension0dp文本居右边内间距
cpvLabelPaddingBottomdimension0dp文本居底边内间距

示例

布局示例

    <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的组件库;主要提供了一些小组件,便于快速使用。

版本日志

v1.1.3:2021-9-2 (从v1.1.3开始发布至 MavenCentral)

  • 对外暴露更多getter和setter方法
  • 新增cpvTickOffsetAngle属性

v1.1.2:2020-12-2

  • 优化设置渐变色过程处理

v1.1.1:2020-4-2

  • 新增cpvLabelPadding..相关属性

v1.1.0:2019-8-19

  • 移除appcompat依赖

v1.0.1:2019-5-23

  • 新增cpvTurn属性(是否旋转)

v1.0.0:2019-2-17

  • CircleProgressView初始版本

footer