android view的一些常用触发方法

本文详细介绍了Android中View的一些关键触发方法,如onFinishInflate()用于获取子控件引用,onMeasure()和onLayout()确定子元素大小和位置,onDraw()处理渲染细节,以及触摸和焦点事件的响应等,帮助开发者更好地理解和处理View的生命周期及交互事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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发生变化时触发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值