onClick、onLongClick、onTouch

本文详细解析了Android中Click与LongClick事件的交互机制,包括不同返回值的影响、事件的优先级及如何实现事件间的互不干扰。对于理解Android视图组件的点击行为具有指导意义。

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

3种事件同时存在时:

1.onLongClick、onTouch 返回false时:

点击:action_down-->action_up-->onClick

长按:action_down-->longClick-->action_up-->onClick

 

2.onLongClick返回true       onTouch返回false

点击:action_down-->action_up-->onClick

长按:action_down-->longClick-->action_up

onLongClick返回true时,click不再执行

3.onTouch中down返回true(不管up和onTouch方法 返回true或false)

不会再执行onClick和longClick

4.如果down-false  up-true  (不管longClick和onTouch的返回值)

点击:down-->up-->longClick 

长按:down-->longclick-->up

并且点击后按钮一直保持按下姿态

onClick、onLongClick并存:

1.longClick返回false    长按:longClick-->Click      事件重合。

2.longClick返回true     两种事件是分开的。

点击:click

长按:longclick

 

总结:返回true说明本次点击处理结束。

在onTouch事件中,只要down||up返回true 就不会执行onClick事件。

在Click与LongClick同时存在想要互不干扰,要把LongClick返回改为false

在Click与onTouch事件并存onTouch都返回false才会在up后执行onclick

onTouch中up返回false点击后按钮会一直处在点击后的状态

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值