1.下面是一个从这里找到的View绘制流程图
2.概念
总的来说绘制view总共分三步:Measure , Layout , Draw
Measure:自上而下的遍历,根据父视图对子视图的MeasureSpec以及ChildView自身的参数,通过:
getChildMeasureSpec()方法获取子view的MeasureSpec,回调ChildView.measure方法,最后调
用setMeasuredDimension得到ChildView的尺寸。
Layout:自上而下进行遍历,根据Measure过程得到每个View的mMeasureWidth和mMeasureHeight
与计算得到的每个ChildView的ChlidLeft,ChildTop进行布局:child.layout(left,top,left+width,top+height)
Draw:绘制view背景 -> 绘制view自身 -> 绘制view子视图 -> 绘制fadeedges和layer -> 绘制scrollbar