Android 事件分发,看完就彻底明白了

事件分发

前提:
1.有三个层级,老板、主管、员工;
2.三个方法(Viewgroup有三个、View有两个 其中没有onInterceptTouchEvent)
dispatchTouchEvent(MotionEvent ev)
onInterceptTouchEvent(true,交给OnTouch,false交给子控件的dispatch)
onTouchEvent(ture消费,false返回父组件消费)
3.三个主要消费方法DOWN、MOVE、UP,其中onInterceptTouchEvent时没有走MOVE和UP方法。

类似于(Activity)->(PhoneWindow)->(DecorView)

1、不设置条件

1.1什么都不设置,发现并不走Move和Up,如图:

在这里插入图片描述

2、设置老板的条件

2.1老板dispatchTouchEvent 返回true,如图:

在这里插入图片描述

2.2老板onInterceptTouchEvent返回true,如图:

在这里插入图片描述

2.3老板onTouchEvent返回true,如图:

在这里插入图片描述

3、设置主管条件

3.1主管dispatchTouchEvent 返回true,如图:

在这里插入图片描述

3.2主管onInterceptTouchEvent返回true,如图:

在这里插入图片描述

3.3主管onTouchEvent返回true,如图:

在这里插入图片描述

4、设置员工条件

4.1员工dispatchTouchEvent 返回true,如图:

在这里插入图片描述

4.2员工onTouchEvent返回true,如图:

分发完DOWN事件,再按循序分发MOVE(由于太长省略了),最后分发UP事件。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记住我的名字啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值