自定义view————流程位置
名字真不知道起什么名字,上效果图把,原谅我的词穷(最近在弄weex混合开发,头都大了,有兴趣的可以去研究,有问题一起交流)
这是这么样效果,在实际项目运用到了,想想要是UI给icon多浪费资源呀,干脆自己上手写个自定义view来解决
思路分析
看效果图就是几个实心圆,几个空心圆花在一条线上,其中要考虑圆的大小,圆间距。根据这些计算第一个画圆的开始位置
开始位置的计算:
float statrx = (mwidth - DisplayUtil.dip2px(mcontext, 20) * size) / 2;
开始x=(宽-(实心圆+空心圆)*每一个圆的宽度)/2;计算出开始的x,画圆从圆心开始,得再把圆半径加上
float x=statrx+DisplayUtil.dip2px(mcontext, 20)*i+DisplayUtil.dip2px(mcontext, 3.5f);
每一个圆的位置x=开始x+圆宽*个数(0开始)+半径
开始画圆
分析的思路大致就能在onDraw开始画了
圆画好了就是一些自定义属性添加:实心圆个数、空心圆个数、圆颜色
自定义属性
xml中添加
attrs.xml
代码中获取
颜色也是一样添加,可以自行添加
java代码添加
|
|
完整自定义view代码
|
|
项目中使用
xml布局
|
|
代码中设置