首页 > 其他 > 详细

onMeasure(),onLayout(),onDraw() …

时间:2020-04-27 21:25:25      阅读:68      评论:0      收藏:0      [点我收藏+]

onMeasure():

计算各控件的大小。系统在渲染时会调用各view的onMeasure方法。调用顺序是先调用子控件的onMeasure方法,再调用父控件的onMeasure方法

onLayout():

根据获取到的尺寸信息渲染这个view,onMeasure方法执行完后会回调onLayout方法。onSizeChanged方法执行完也会回调onLayout方法。调用顺序是先调用子控件的onLayout方法,再调用父控件的onLayout方法

onDraw():

根据布局的位置绘图;

onFinishInflate():

当View和他的所有子控件被XML布局文件填充完成时被调用。

onAttachedToWindow():

当视图被连接到一个窗口时调用

onDetachedFromWindow():

当视图从窗口分离时调用

onWindowVisibilityChanged(int):

当View的窗口的可见性发生改变时调用

Constructors: (构造方法)

通常在这里处理:根据obtainStyledAttributes获取xml的属性

在view的位置信息发生变化以及添加删除view时,会触发这几个回调:

removeView(): 子onMeasure --> 父onMeasure -->子onLayout-->父onLayout
addView():子onMeasure --> 父onMeasure -->子onLayout-->父onLayout

onDraw()调用:

在View初化完成之后开始调用;
invaildate()的时候会也被调用;

参考:
https://blog.csdn.net/harvic880925/article/details/47029169

onMeasure(),onLayout(),onDraw() …

原文:https://www.cnblogs.com/vivian187/p/12789822.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!