流程開始:ViewGroup從父View中接收請求進行繪制
測量階段:ViewGroup會先調用measure()方法來測量自身的尺寸大小和子View的尺寸大小,確定自身的大小和子View的位置和大小關系。在此階段,ViewGroup會遍歷所有子View,并調用每個子View的measure()方法來測量子View的尺寸大小。
布局階段:ViewGroup會根據測量階段得到的結果,調用layout()方法來確定子View的最終位置和大小,并將子View進行布局。在此階段,ViewGroup會遍歷所有子View,并調用每個子View的layout()方法來確定子View的位置和大小。
繪制階段:ViewGroup會調用dispatchDraw()方法來開始繪制子View。在此階段,ViewGroup會遍歷所有子View,并依次調用每個子View的draw()方法來繪制子View的內容。
結束流程:ViewGroup繪制結束后,將自身的繪制結果傳遞給父View進行顯示。整個繪制流程結束。
總結:ViewGroup的繪制流程包括測量、布局和繪制三個階段,通過這三個階段來確定子View的位置、大小和內容的繪制順序,最終完成整個ViewGroup的繪制過程。