Android事件分发机制,一看就懂

网上搜索Android事件分发机制,要不是说了一大堆不知道在说什么,要不是就是错的,真是服了。
几句话就可以概括的事情

**1.**点击屏幕时产生MotionEvent.action_down,action_move,action_up消息,从上往下调用dispatchTouchEvent传递,view调用onTouchEvent判断是否消费事件,viewGroup调用onInterceptTouchEvent判断是否拦截事件,如果拦截则调用自己的onTouchEvent判断是否消费。
**2.**onTouchEvent返回true代表事件被消费,后续move和up事件将继续传递给该view,不再向下传递,完成一次事件的分发,返回false表示不消费事件。
**3.**如果最后都没有view消费事件,就向上冒泡调用父类的onTouchEvent,判断是否消费,如果最后都没有view消费,就停止传递消息,表示无效事件
**4.**如果子view正在处理事件的过程中,事件被父view拦截,或被父view移除,则产生action_cancel消,后面的消息不在传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值