onMeasure、onLayout以及onSizeChanged方法的回调时机和回调顺序

来源:互联网 发布:线性映射的矩阵表示 编辑:程序博客网 时间:2024/06/05 06:12
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方法。
           3.onMeasure方法回调后,一定会回调onLayout方法。

0 0
原创粉丝点击