自定义View时我们不可避免的要和View生命周期相关函数打交道,可能需要重新其中的某个或某几个来满足定制的需求,因此了解View的生命周期是Android程序猿进阶的必经之路。当然,我们没必要重新所有的方法,如果我们只是单纯的想把一个Bitmap画到View上,那我们只要重写View的onDraw方法就可以了,事实上自定义View的大部分情况我们也只是关注这个方法
onFinishInflate() 当View中所有的子控件均被映射成xml后触发
onMeasure(int, int) 确定所有子元素的大小
-
onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发
-
onSizeChanged(int, int, int, int) 当view的大小发生变化时触发
-
onDraw(Canvas) view渲染内容的细节
-
onKeyDown(int, KeyEvent) 有按键按下后触发
-
onKeyUp(int, KeyEvent) 有按键按下后弹起时触发
-
onTrackballEvent(MotionEvent) 轨迹球事件
-
onTouchEvent(MotionEvent) 触屏事件
-
onFocusChanged(boolean, int, Rect) 当View获取或失去焦点时触发
-
onWindowFocusChanged(boolean) 当窗口包含的view获取或失去焦点时触发
-
onAttachedToWindow() 当view被附着到一个窗口时触发
-
onDetachedFromWindow() 当view离开附着的窗口时触发,Android123提示该方法和 onAttachedToWindow() 是相反的
-
onWindowVisibilityChanged(int) 当窗口中包含的可见的view发生变化时触发