onFinishInflate() 当View中所有的子控件 均被映射成xml后触发
主要用于:获取子控件的引用:例如下面代码
mTitleTextView=(TextView) findViewById(R.id.tv_header_title);
mRightButton.setBackgroundDrawable(this.mRightButtonBg);
mTitleTextView.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.refresh));
onMeasure(int, int) 确定所有子元素的大小
onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发
onSizeChanged(int, int, int, int) 当view的大小发生变化时触发
主要用于屏幕的大小改变时,需要根据屏幕宽高来决定的其他变量可以在这里进行初始化操作,这个方法在onCreate之后onDraw之前调用
onDraw(Canvas) view渲染内容的细节
onKeyDown(int, KeyEvent) 有按键按下后触发
onKeyUp(int, KeyEvent) 有按键按下后弹起时触发
onTrackballEvent(MotionEvent) 轨迹球事件
onTouchEvent(MotionEvent) 触屏事件
onFocusChanged(boolean, int, Rect) 当View获取 或失去焦点时触发
onWindowFocusChanged(boolean) 当窗口包含的view获取或失去焦点时触发
onAttachedToWindow() 当view被附着到一个窗口时触发
onAttachedToWindow是在第一次onDraw前调用的。也就是我们写的View在没有绘制出来时调用的,但只会调用一次
在onAttachedToWindow这方法中做初始化工作,比如注册一些广播
生命周期为onCreate->onStart->onResume->onAttachedToWindow
onDetachedFromWindow() 当view离开附着的窗口时触发,
我们销毁View的时候。我们写的这个View不再显示。
这时我们就在这个方法做一些收尾工作,如:取消广播注册等等
一般用于valueAnimator.cancel()取消动画
onWindowVisibilityChanged(int) 当窗口中包含的可见的view发生变化时触发