前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dispatchTouchEvent事件分发浅析(三)点击执行顺序

dispatchTouchEvent事件分发浅析(三)点击执行顺序

作者头像
dodo_lihao
发布2018-09-12 11:03:10
1.1K0
发布2018-09-12 11:03:10
举报
文章被收录于专栏:懒人开发懒人开发

上一篇,我们大体理解了分发的过程 理解了在 dispatchTouchEvent 和 onTouchEvent 的过程中 对应的顺序 还有 View 和 ViewGroup 的区别

具体代码可以见https://github.com/2954722256/demo_event


这里 我们给上一篇的2个例子, 只是在MainActivity中, 分别给2个控件, 添加上OnClick 和 OnTouch 事件

【EventButton】

Paste_Image.png

点击 自定义的EventButton 可以发现对应的过程

MainActivity    ----    dispatchTouchEvent  ---->   ACTION_DOWN ---->   noMsg
EventButton ----    dispatchTouchEvent  ---->   ACTION_DOWN ---->   noMsg
MainActivity    ----    btn setOnTouchListener  onTouch ---->   ACTION_DOWN ---->   noMsg
EventButton ----    onTouchEvent    ---->   ACTION_DOWN ---->   noMsg
MainActivity    ----    btn setOnClickListener  onClick ---->   nullEvent   ---->   noMsg

我们可以发现,和前面一样 从MainActivity分发下来事件 只是 先触发 OnTouch 的事件(对外的,对开发者的), 再 获取到OnTouchEvent事件(系统的,消费) , 再触发 OnClick 事件

我们可以理解成, 点击事件从最外层分发下来, 先触发 TouchListener回调接口, 系统获得处理OnTouch事件, 判断是否消费, 判断是Click事件, 再触发 ClickListener回调接口


【EventViewGroup】:

Paste_Image.png

点击 自定义ViewGroup的 EventViewGroup 后 可以发现

MainActivity    ----    dispatchTouchEvent  ---->   ACTION_DOWN ---->   noMsg
EventViewGroup  ----    dispatchTouchEvent  ---->   ACTION_DOWN ---->   noMsg
MainActivity    ----    LL setOnTouchListener  onTouch  ---->   ACTION_DOWN ---->   noMsg
EventViewGroup  ----    onTouchEvent    ---->   ACTION_DOWN ---->   noMsg
MainActivity    ----    LL setOnClickListener  onClick  ---->   nullEvent   ---->   noMsg

我们可以发现,和前面Button一样 先触发 OnTouch 的事件(对外的,对开发者的), 再 获取到OnTouchEvent事件(系统的,消费) , 再触发 OnClick 事件

只是, ViewGroup没有调用最外面Activity的OnTouchEvent方法了 ** 可以理解成,这里消费掉了点击, 就不用调用上层的 OnTouch方法了 **


简单回顾

简单看了下对应的点击后的区别 我们简单对比一下

Paste_Image.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.08.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单回顾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档