dispatchTouchEvent

  1. dispatchTouchEvent的执行顺序为:

            首先触发ACTIVITY的dispatchTouchEvent

            然后触发ACTIVITY的onUserInteraction

            然后触发LAYOUT的dispatchTouchEvent

            然后触发LAYOUT的onInterceptTouchEvent

这就解释了重写ViewGroup时必须调用super.dispatchTouchEvent();

2.

(1)dispatchTouchEvent:

            此方法一般用于初步处理事件,因为动作是由此分发,所以通常会调用       

           super.dispatchTouchEvent。这样就会继续调用onInterceptTouchEvent,再由onInterceptTouchEvent决定事件流向。

(2)onInterceptTouchEvent:

        若返回值为True事件会传递到自己的onTouchEvent();

        若返回值为False传递到下一个view的dispatchTouchEvent();

(3)onTouchEvent():

        若返回值为True,事件由自己处理消耗,后续动作序列让其处理;

        若返回值为False,自己不消耗事件了,向上返回让其他的父view的onTouchEvent接受处理;


推荐一篇博文“http://blog.csdn.net/leesidong/article/details/6973261

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值