Android中View的绘制原理

描述一下View的绘制原理

 

View的绘制流程主要分为三步:

  1. onMeasure:测量视图的大小,从顶层父View到子View递归调用measure()方法,measure()调用onMeasure()方法,onMeasure()方法完成绘制工作。

  2. onLayout:确定视图的位置,从顶层父View到子View递归调用layout()方法,父View将上一步measure()方法得到的子View的布局大小和布局参数,将子View放在合适的位置上。

  3. onDraw:绘制最终的视图,首先ViewRoot创建一个Canvas对象,然后调用onDraw()方法进行绘制。onDraw()方法的绘制流程为:① 绘制视图背景。② 绘制画布的图层。 ③ 绘制View内容。
    ④ 绘制子视图,如果有的话。⑤ 还原图层。⑥ 绘制滚动条。

  4. 其中measure确定View的测量宽/高,layout来确定View的最终宽/高和四个顶点的位置,draw负责将View绘制到屏幕上。

    说到底其实就是,measure就是给个建议值,View多大合适;layout就是去放View的外框,放在哪里,具体多大;draw就是去画View里面的内容。

你可能感兴趣的:(Android高级,Android,自定义View,事件分发机制)