android onTouch()与onTouchEvent()的区别

本文深入解析Android中View的onTouch方法与onTouchEvent方法的区别及使用场景,详细阐述了触摸事件的传递过程,帮助开发者更好地理解和应用触摸事件处理。

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

[size=medium][b]1.onTouch方法:[/b][/size]
onTouch方法是View的[b]OnTouchListener[/b]接口中定义的方法。
[color=red]当一个View绑定了OnTouchLister后[/color],当有touch事件触发时,就会调用onTouch方法。
(当把手放到View上后,onTouch方法被一遍一遍地被调用)

[size=medium][b]2.onTouchEvent方法:[/b][/size]
onTouchEvent方法是override的Activity的方法。
重写了View的onTouchEvent方法后,当屏幕有touch事件时,此方法就会被调用。
(当把手放到View上时,onTouchEvent方法就会一遍一遍地被调用)

[size=medium][b]3.touch事件的传递:[/b][/size]
在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。

[color=red]如果onTouch返回值为true,[/color]
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
[b]也就是说onTouchEvent方法不会再被调用。[/b]

[color=red]如果onTouch的返回值是false,[/color]
表示这个touch事件没有被TextView完全处理,onTouch返回以后,touch事件被传递给Activity,onTouchEvent方法被调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值