仿迅雷下载进度的圆形面积进度条

老规矩,先上效果图:

仿迅雷下载进度的圆形面积进度条_第1张图片

简要说一下实现原理:
1.自定义view,继承View
2.onDraw里面绘制圆形并填充
3.已知圆形总面积,则可根据进度比率(假设最大进度值为100)计算蓝色面积
4.通过圆形、三角形、扇形面积,角度等几何关系可以求解蓝色部分沿竖直直径方向的高度(具体可参考下图)
5.绘制相关几何图形,填充适当颜色

仿迅雷下载进度的圆形面积进度条_第2张图片

作为一个控件,目前还只是基本功能,些许细节还不够完美,后面再继续完善和扩展,源码地址:RoundAreaProgressBar。

你可能感兴趣的:(android,ProgressBar)