摘要onTouch初入理解

1.onTouch:是Android系统中整个事件机制的基础。Android中的其他事件,如onClick、onLongClick等都是以onTach为基础的,优先于onClick.onLongClick执行,onTouch返回true,不再往下执行传递了。

2.onTouch:优先于onTouchEvent方法执行。如果在onTouch方法中通过返回true将事件消费掉,onTouchEvent将不会再执行了。

3.onTouch:  执行的两个条件:onTouchListener   监听不为null 且 当前点击控件必须为 enable的。如时果控件是 非enable的,给它注册onTouch事件将永远得不到执行。对于这一类控件,如果我们想要监听它的touch事件,就必须通过在该控件中重写onTouchEvent方法来实现。

4.层次传递:如果在action_down 时,返回了false,那么后面的都不会得到执行了。 当dispatchTouchEvent在进行事件分发的时候,只有前一个action返回true,才会触发后一个action。

5. android事件分发是先传递到ViewGroup,再由ViewGroup传递到View的。

6.在ViewGroup中可以通过onInterceptTouchEvent方法对事件传递进行拦截,onInterceptTouchEvent方法返回true代表不允许事件继续向子View传递,返回false代表不对事件进行拦截,默认返回false

7.子View中如果将传递的事件消费掉,ViewGroup中将无法接收到任何事件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值