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