自定义View的绘制原理简述

顾名思义,自定义View就是自己绘制一个View。在现实中,画画需要考虑三件事情:1.画多大,2.画什么,3.画好后放哪儿。这分别对应View中的三个方法:
1.onMeasure(int widthMeasureSpec, int heightMeasureSpec);
2.onDraw(Canvas canvas);
3.onLayout(boolean changed, int left, int top, int right, int bottom) 。
对于1和3两个问题,http://hencoder.com/ui-1-1/中有很详细的解释。重点就是view的宽高和摆放位置的确定。
对于第二个问题,该教程阐述的非常全面了。
这里进行补充,官方文档中写到
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
即绘图的核心有四个基础组件。bitmap保存像素点,canvas保存写到bitmap的绘制步骤,原始绘制和画笔。

你可能感兴趣的:(自定义View的绘制原理简述)