Android平常的开发中使用到Canvas的机会并不是太多,常规的开发中系统控件足够满足大部分要求,UI如果追求美观常用的系统控件就不能满足我们的要求了,所以诞生了自定义View
而自定义View中比较常见的是事件分发机制和View的绘制这两种
如果我们要自定义样式顾名思义肯定是要在View的onDraw()方法下对View进行绘制,绘制之前呢,自定义View还会进入到onMeasure()和onLayout方法里面 最后才进入onDraw方法绘制完成显示在界面上
onMeasure()测量View onLayout() 定位位置 onDraw()绘制View 简单一说 主要还是onDraw上
可以看到onDraw构造方法中有返回一个Canvas 这个就是主角了,查看Android的API文档可以看到,Canvas下有很多方法,但是比较常见的类如画文本 drawText(),画圆drwaCircle(),画椭圆drawOval(),画矩形drawRect(),画三角形drawPath()等等的方法,这个是API方法构成 但是怎么画呢 ,既然是画就得有画笔(Paint),画布(当然是canvas啦),颜料(paint方法下的属性就是颜料)等等的东西才对
一开始我在想怎么把这些东西组装到一起呢,而且还能放在合适的位置?
Paint 这个东西是画之前必须得准备得,它关系到画出来得效果如何,查看API也可以看到他的下面也有很多调用方法
Paint mPaint=new Paint();
mPaint.setColor(Color.BLACK