View的绘制流程
ViewRootImpl類中performTraversals()方法實(shí)現(xiàn)了View的繪制:
第一步:performMeasure():用于指定和測(cè)量layout中所有控件的寬高,對(duì)于ViewGroup,
先去測(cè)量里面的子孩子,根據(jù)子孩子的寬高再來(lái)計(jì)算和指定自己的寬高,
對(duì)于View,它的寬高是由自己和父布局決定的。
第二步:performLayout():?用于擺放子布局,for循環(huán)所有子View,用child.layout()擺放
ChildView
第三步:performDraw():?用于繪制自己還有子View?,?對(duì)于ViewGroup首先繪制自己的背
景,for循環(huán)繪制子View調(diào)用子View的draw()方法,?對(duì)于View繪制自己的背景,再繪制自己顯
示的內(nèi)容
View繪制流程的入口,請(qǐng)參考?View繪制流程的入口
總結(jié)
- 上一篇: View绘制流程的入口
- 下一篇: Android自定义ViewGroup基