Android自定义控件(一)自绘控件

因为公司项目的需求,须要绘制一条竖直的间断线做为分割线。这个可坑了爹了,之前只搞过水平的间断线,只要经过shape也能够简单的画出来,可是千万记得把hardwareAccelerated给关了,否则水平的虚线仍是会是实线,这个之前也是我趟过的一个坑。那咋办呢,找不到原生的解决方案,不就是一条简单的间断线嘛,还能难住我等程序猿?这个时候,首先联想到的就是自绘控件了。
微信

自绘控件,顾名思义就是控件所展现的内容都是咱们本身绘制上去的。全部的绘制操做就是在onDraw()方法里面进行的,固然咱们的这个自定义控件都是View的直接子类。好比最常使用的TextView、ImageView就是View的直接子类,也可视做自绘控件,全部的绘图操做也都是在本身的onDraw()中,有兴趣的同窗绘图能够去读读这些基本控件的源码。今天第一讲,咱们也动手实现咱们本身的控件。布局

直接上代码,比较简洁。
spa

第一步,在attrs.xml中定义控件的属性.net

定义line_color这个属性主要就是为了控件兼容着想,能够随意定制化间断线的颜色。orm


第二步、定义DashLine的成员变量xml


第三步、在构造方法中初始化变量ci


第四步、绘图get



第五步、布局使用源码

代码比较简洁,也有注释,就很少说了。看下成果it

若是以为对你有所帮助,欢迎你们订阅个人微信公众帐号——Android干货分享。下面是微信的二维码,为你提供及时高质的Android干货。

相关文章
相关标签/搜索