onMeasure方法:作用是計算各控件的大小。系統在渲染頁面時會調用各view的onMeasure方法,各控件的onMeasure方法執行順序是從内到外,即先調用子控件的onMeasure方法,在執行父布局的onMeasure方法。
onLayout方法:根據擷取到的尺寸資訊渲染這個view。onMeasure方法執行完後會回調onLayout方法。onSizeChanged方法執行完也會回調onLayout方法。執行順序也是從内到外,即先調用子控件的onLayout方法,在執行父布局的onLayout方法。
會觸發這幾個回調方法的方法:
removeView(): 子onMeasure --> 父onMeasure -->子onLayout-->父onLayout
addView():子onMeasure --> 父onMeasure -->子onLayout-->父onLayout
實驗結果:
總結:1.onMeasure方法會在view的位置資訊發生變化或調用。
2.子view回調了onMeasure方法,父view一定也會回調onMeasure方法。