1.前言
由于项目需要实现一个类似于仪表盘的功能显示当前设备的状态,就像各个手机卫士主页的评分控件。
2.实现
- 起初还是一如既往,有没有现成的,有的话直接用或者改一改,简单方便,但后来没有找到一个适合我项目的开源仪表控件,参考了一些相关控件后决定自己写一个,虽然自定义View可能是安卓里最弱的一项,但这个还是很简单的。
2.需要实现进度条平滑的递增,一个简单的动画,其次可以实现任意角度的圆形进度,第三实现渐变色(这个search好久才查到可能很少人用的原因,也可能是我自定义View有点row).
3.码区
attr代码
<attr name="is_dashed_circular" format="boolean"/> <!--是否是虚线-->
<attr name="max_visible_arc" format="integer"/> <!--最大角度-->
<attr name="progress_count" format="integer" /> <!--当前进度-->
<attr name="each_progress_width" format="integer"/> <!--每个进度的宽度-->
<attr name="each_progress_height" format="integer" /> <!--每个进度的高度-->
<attr name="central_width" format="integer"/> <!--第二个圆环的宽度-->
<attr name="finished_progress_color" format="color"/> <!--完成的进度颜色-->
<attr name="unfinished_progress_color" format="color"/> <!--未完成进度的颜色-->
<attr name="fill_center_color" format="color"/> <!--内圆颜色-->
<attr name="fill_central_color" format="color"/> <!--第二个圆环的颜色-->
其他的可以看代码就一个类