自定义View(三) 事件拦截总结

1.事件拦截主要通过三个方法控制:

public boolean dispatchTouchEvent(MotionEvent ev);

public boolean onInterceptTouchEvent(MotionEvent ev);//只有ViewGroup才会调用

public boolean onTouchEvent(MotionEvent event) ;

2.dispatchTouchEvent返回true,则它本身消费,返回false,则由它的父类消费

3.在ViewGroup中,onInterceptTouchEvent返回true,则调用其本身的onTouchEvent,返回false,则事件继续分发

4.如onTouch方法返回true,则不调用onTouchEvent

5.从Down到无数Move再到Up组合成一个事件序列,正常情况下一个View一旦拦截,则接下的事件都由它来处理

6.某个View如果不处理ACTION_DOWN事件,那么同一事件的其它事件序列不会交给它处理,事件交给父类做

7.某个View如果不消耗除ACTION_DOWN的事件,那么这个事件会消失,不会传给父类去做,最终这些消失的事件传递给

Activity处理

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值