android 分步进度,Android 圆形进度条,进度百分比跟随进度移动

项目中要用到进度百分比跟随进度动的效果,在网上找了一下,没找到合适的,就自己写了一个,现在开源出来供大家参考,参考了https://github.com/lzyzsd/CircleProgress。

效果如下

376af9cf444c2d8e691c444e8f0a0fbd.gif

效果图

apk下载链接下载地址

圆弧可以通过canvas.drawArc直接画出来,但百分比的位置则需要根据进度的位置进行计算,需要注意的是:

canvas.drawText是根据坐标原点进行定位的,而canvas.drawArc却不是。

drawText时,需要设置textPaint.setTextAlign(Paint.Align.CENTER)以文字中心点绘制。

进度百分比要根据文字的大小进行相应的移动,而且因为文字长宽不一样,所以x坐标和y坐标的移动量不一致。

画的圆弧也要根据文字的大小预留出相应的边距。

使用方法如下

android:id="@+id/progress"

android:layout_width="300dp"

android:layout_height="300dp"

app:circle_progress="50"

android:layout_centerInParent="true"

app:circle_text_size="12dp"

app:circle_finished_color="@color/finished_color"

app:circle_unfinished_color="@color/unfinished_color"

app:circle_angle="240" />

f9de3d0fd203d1263d63d3bab7a57ae1.png

效果

注意

width的值要和height的值相同,也就是圆形时才可以。

具体实现请看源码实际开发中也可以根据具体的需求进行相应的开发和修改。欢迎大家使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值