View的工作流程主要是指mesaure , layout , draw这三大流程,即测量,布局,绘制。其中measure确定view的宽高,layout确定view的最终宽高和四个顶点位置,而draw则将view绘制到屏幕上。
1.meausre过程
如果只是一个原始的view,通过meausre方法就可以完成测量过程,如果是一个viewGroup,还需要遍历去调用所有子元素的meausre方法,各个子元素在递归去执行这个流程,
1)view的measure过程
在view的measure方法中会去调用view的onMeasure方法,onMeasure方法如下:
setMeasuredDimension方法会设置view宽高的测量值,
接下来我们看getDefaultSize方法: