View的绘制流程:
第一步: performMearsure():用于指定和测量layout中所有控件的宽高,对于ViewGroup,先去测量里面的子孩子,根据子孩子的宽高在来计算和指定自己的宽高。对于View,它的宽高是由自己和夫布局决定的。
第二步:performLayout():用于摆放子布局,for循环所有子view,用child.layout()摆放子view。
第三步:performDraw():用于绘制自己和子View,对于ViewGroup首先绘制自己的背景,for循环绘制子view,调用子view的draw()方法,然后绘制子view的背景。然后绘制自己。
网友评论