由于重新理了理博客,所以将此篇更改了下作为自定义的代码篇,如果不懂自定义View的原理和实现步骤的可以先看看android之自定义View和ViewGroup(一),具体解释不就不废话了,前面那个链接上写的很清楚了,此篇直接来代码实现。
假如我们需要实现的效果是这样(模拟器有点卡,见谅):
那么我们可以分析下,需要什么思路,由于图片问题,图中可能不明显,结构是这样的:
三层,一层红色背景,一层内层粉色,再是一个绿色进度的方形条,那么我们就画一个方形红色背景,在里面再画一个粉色方形,然后里面再画一个绿色的方形进行移动,但是移动范围是粉色框内,思路就是这样,那么开始
我们自定义view就需要几个属性:
1.背景色(图中红色)
2.内部背景色(图中粉色)
3.进度方块的颜色(图中绿色)
4.红色框的线的宽度(因为我画的是一个没有填充满颜色的红色框,只是画的一个带红色stroke的框,可以根据自己的想法更改)
那么自定义一共要三个模块:
1.在attrs中自定义需要的属性(上面4个)
2.继承View自定义View进行画进度条的逻辑
3.在xml布局中使用
我们先来第一个模块:
(1)在attrs中自定义需要的属性(如果没有attrs.xml就在res/values下建个就行)
<attr name="backColor" format="color"/>
<attr name="progressColor" format="color"/>
<attr name="strokeColor" format="color"/>
<attr