好久不写博客,最近没任务就来写写博客,今天就写个简单的自定义圆形进度条的实现,最终效果如下:
好了,我们首先分析一下如果是你做这种效果需要哪些步骤呢?考虑几秒再看下面的。别偷懒。
你思考了么?这么快就来看步骤了,太懒了吧!
其实很简单,3个步骤,1.画中间绿色的圆形;2.画外面蓝色的进度(其实是一个扇形);3.画进度(图中的数字1%-99%、完成),画的绿色圆形将蓝色的扇形覆盖住,就是上图的效果了,然后慢慢改变蓝色扇形的角度就行了。具体实现步骤如下图:
是不是很简单?当然简单!
那么开始写具体实现代码!
首先自定义一个类继承自View,实现构造方法初始化:扇形,绿色圆形,字,这三个属性所需的画笔(我用了三个画笔是为了区分大家方便看,当然也可以只用一个画笔就行了)
package com.custom.my.widget;
public class CircleProgressBar extends View {
private Context context;
private int height,widt