onInterceptTouchEvent(),onTouchEvent() 默认返回false

注:事件分发机制是由 dispatchTouchEvent() 开始分发的

onInterceptTouchEvent()

ACTION_DOWN ------------ return true: ---→  将事件传递给该view下的 onTouchEvent()                                                                                                                                                                                                                                                                                                                          ACTION_MOVE ACTION_UP 都将直接由 onTouchEvent() 响应

该view的 onInterceptTouchEvent() 将无法响应 ACTION_MOVE,ACTION_UP

------------ return false:    ↓   将事件向下传递(判断是否存在下级)

无下级: 将事件传递给该view下的 onTouchEvent()(等同于返回true)

有下级: 判断下一级是View 还是 ViewGroup

ViewGroup : 将事件传递给下一级的 onInterceptTouchEvent(),一直向下传递

View: 将事件传递给下一级的 onTouchEvent()

ACTION_MOVE ,ACTION_UP 都将由第一级别的 onInterceptTouchEvent() 响应

return false: 将ACTION_MOVE 事件传递给下一级的 onInterceptTouchEvent() ,以此类推

return true:   将ACTION_CANCEL 事件传递给 下面级别的所有响应 ACTION_DOWN 事件的方法,

将ACTION_MOVE 事件传递给此view 的onTouchEvent() ,所以接下来的action(ACTION_MOVE,ACTION_UP)都将按照这个顺序传递

onTouchEvent()

ACTION_DOWN ------------- return true: ---→  判断是否存在上级

无上级:将事件传递给下面的action(响应 ACTION_MOVE,ACTION_UP)

ACTION_MOVE,ACTION_UP: 将直接由 onTouchEvent() 响应

有上级:将事件传递给 第一级 onInterceptTouchEvent() 来响应 ACTION_MOVE,ACTION_UP 事件

第一级的onInterceptTouchEvent() 响应了ACTION_MOVE 事件后

return false: 将ACTION_MOVE 事件传递给下一级的 onInterceptTouchEvent() ,以此类推

return true:   将ACTION_CANCEL 事件传递给 下面级别的所有响应 ACTION_DOWN 事件的方法

将ACTION_MOVE 事件传递给此view 的onTouchEvent() ,所以接下来的action(ACTION_MOVE,ACTION_UP)都将按照这个顺序传递

------------- return false:    ↑    将事件向上传递(判断是否存在上级)

无上级:事件终止  X

有上级:事件传递给上一级的 onTouchEvent()

onTouchEvent()

转载于:https://www.cnblogs.com/zhy7104/p/6023961.html

onInterceptTouchEvent / onTouchEvent响应事件的详析相关推荐

  1. Android事件流程详解

    Android事件流程详解 网络上有不少博客讲述了android的事件分发机制和处理流程机制,但是看过千遍,总还是觉得有些迷迷糊糊,因此特地抽出一天事件来亲测下,向像我一样的广大入门程序员详细讲述an ...

  2. winform 让他间隔一段时间 执行事件 且只执行一次_Redis 事件机制详解

    点击上方"程序员历小冰",选择"置顶或者星标" 你的关注意义重大! Redis 采用事件驱动机制来处理大量的网络IO.它并没有使用 libevent 或者 li ...

  3. Android中dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的理解

    [转]http://blog.csdn.net/guitk/article/details/7057155 onInterceptTouchEvent用于改变事件的传递方向.决定传递方向的是返回值,返 ...

  4. Android-解决ViewFlipper与ScrollView滑动响应事件拦截的问题【转】

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做一个简单的展示界面时,遇到了一个比较棘手的问题.由于要展示多项内容,所以使用ViewFlipper作为水平滑动容器:而 ...

  5. Redis 事件机制详解

    Redis 采用事件驱动机制来处理大量的网络IO.它并没有使用 libevent 或者 libev 这样的成熟开源方案,而是自己实现一个非常简洁的事件驱动库 ae_event. Redis中的事件驱动 ...

  6. JavaScript(js)事件冒泡、事件捕获、事件委托详解

    JavaScript(js)事件冒泡.事件捕获.事件委托详解 1.什么是事件 JavaScript和HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间.可以使用监听 ...

  7. 详析像增强器的构造及作用——专为微弱信号探测而生

    详析像增强器的构造及作用--专为微弱信号探测而生 CCD.CMOS相机常备用来拍摄发光影像.然而受到效率.噪声的限制,在微弱光环境下,普通相机很难实现有效的成像,这些场景包括: - 微光夜视,即环境光 ...

  8. svg鼠标响应事件的四种方法(其中两种可支持火狐)

    svg鼠标响应事件的四种方法 鼠标响应事件的四种方法,以click事件为例. Mouse Events - SMIL <?xml version="1.0" encoding ...

  9. 委托与事件代码详解与(Object sender,EventArgs e)详解

    委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...

最新文章

  1. PHP的一种缓存方案静态化
  2. SPOJ - BITDIFF: Bit Difference [神妙の预处理]
  3. lucene 学习一
  4. ActiveMQ 消息持久化
  5. word万维计算机教程,计算机课件word文档.doc
  6. 旅行报告:JavaOne 2013 –重归荣耀
  7. 解决ssh空闲一段时间后自动断开
  8. 菜鸟学Linux 第093篇笔记 keepalived
  9. Bailian4144 畜栏保留问题【贪心】
  10. tkinter教程_Tkinter教程–第2部分
  11. 解读2022城市大脑首批三项标准
  12. 数据同步工具:Canal
  13. 百度搜索指数查询工具
  14. 【优化算法】改进的侏儒猫鼬优化算法(IDMO)【含Matlab源码 2314期】
  15. 膨胀卷积(空洞卷积 dilated convolution)
  16. 微信网页授权校验文件
  17. java怎么往list里存int,Java中List、Integer[]、int[] 的相互转换
  18. 智能定位系统实验报告
  19. 【Mybatis】Mybatis将String类型的0存到数据库中的number类型字段中,变成了空;
  20. 数字电路学习——三极管的使用

热门文章

  1. python接口自动化(七)--状态码详解对照表(详解)
  2. nginx 禁止运行php,Nginx、Apache、Lighttpd禁止目录执行php配置示例
  3. 怎样退出python的交互环境_python交互界面的退出方法
  4. Guava的介绍与使用示例
  5. [Spring+Hibernate系列]2.项目介绍与首个MVC实例
  6. php正则循环,PHP正则解析多重循环模板示例
  7. 在保护继承中基类的共有成员_C++面向对象:C++ 继承
  8. Chika and Friendly Pairs(莫队+树状数组+离散化+预处理上下界)
  9. java在linux生成pdf文件,从 Java 应用程序动态生成 PDF 文件
  10. 解析单句sql_SqlParser 一个利用正则表达式解析单句SQL的类