您的位置:首页 > 其它

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

2017-06-06 10:56 2441 查看

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方法,之后一定会调用ondraw方法。 这个就是 测量,排版,绘制.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: