大致可分为如下8个方法:
- constructor:构造函数
- onfinishInflate:xml文件加载完成后调用
- onAttachedToWindow:该方法在当前View被附到一个window上时被调用
- onMesure(int,int):计算当前View及其所有子View尺寸大小需求时会被调用。
- onLayout(boolean,int,int,int,int):当前View需要为其子View分配尺寸和位置时会被调用
- onSizeChange(int,int,int,int):当前View尺寸变化时被调用
- onDraw(android.graphics.Canvas):View需要呈现其内容时被调用
- onDeachedFromWindow():在当前View从一个window上分离时被调用
另外
1、Creation(创建)
-
Constructors(构造函数):有一种形式的构造函数会在View在代码中被创建时调用,另一种形式的构造函数会在View从layout加载出来时被调用。
第二种形式的构造函数会解析和应用layout文件中定义的任何属性。 -
onFinishInflate():该方法当View及其子View从XML文件中加载完成后会被调用。
2、Layout(布局)
-
onMeasure(int, int):该方法在计算当前View及其所有子View尺寸大小需求时会被调用。
-
onLayout(boolean, int,int,int,int):该方法在当前View需要为其子View分配尺寸和位置时会被调用。
-
onSizeChanged(int, int, int, int):该方法在当前View尺寸变化时被调用。
3、Drawing(绘制)
- onDraw(android.graphics.Canvas):该方法在当前View需要呈现其内容时被调用。
4、Event processing(事件处理)
-
onKeyDown(int, KeyEvent):该方法在一个物理按键事件发生时被调用。
-
onKeyUp(int, KeyEvent):该方法在一个物理按键弹起事件发生时被调用。
-
onTrackballEvent(MotionEvent):该方法在一个轨迹球运动事件发生时被调用。
-
onTouchEvent(MotionEvent):该方法在一个触摸屏幕运动事件发生时被调用。
5、Focus(焦点)
-
onFocusChange(boolean,int,android.graphics.Rect):当前View获得或失去焦点时被调用。
-
onWindowFocusChanged(boolean):该方法在包含当前View的window获得或失去焦点时被调用。
6、Attaching(附着)
-
onAttachedToWindow():该方法在当前View被附到一个window上时被调用。
-
onDetachedFromWindow():该方法在当前View从一个window上分离时被调用。
-
onVisibilityChanged(View, int):该方法在当前View或其祖先的可见性改变时被调用。
-
onWindowVisibilityChanged(int):该方法在包含当前View的window可见性改变时被调用。
参考大神:
Android View的生命周期
网友评论