有三个方法:

dispatchTouchEvent

onInterceptTouchEvent

onTouchEvent

首先:A的dispatchTouchEvent-A的onInterceptTouchEvent

B的dispatchTouchEvent B的onInterceptTouchEvent 。。。

之后呢,如果不在传递了,那么就最后一个元素的onTouchEvent

往上传递,B的onTouchEvent –A的onTouchEvent

中间各个方法返回值不同,传递过程就会中断。总结如下:

dispatchTouchEvent
不管是返回true, 还是false,都不会再走 自己的onInterceptTouchEvent onTouchEvent ,也不会向下传递
只有返回super…..才可以继续 onInterceptTouchEvent onTouchEvent
然后往下传递 如果返回true ,那么以后的事件都由dispatchTouchEvent 处理,不会再交给onTouchEvent
如果返回false,那么以后的事件都由dispatchTouchEvent 处理,不会再交给上层 onTouchEvent ,不管上层返回true或false,都要它处理。
onInterceptTouchEvent

就是配合dispatchTouchEvent  的,不想向下分发就拦截掉,直接执行自己的onTouchEvent
返回true 则接执行自己的onTouchEvent 不想向下分发
返回false 和返回super…..一样
onTouchEvent  

返回true  表示当前这个控件自己处理touch时间,包括以后的move  ,up ,传递过程中,如果上一级有其他的onTouchEvent  ,那么其他的只执行一次,以后直接分发到这一级之后直接调用onTouchEvent.
返回 false 和返回super 一样 ,自己不处理

这个事情我算是搞明白了,看了无数篇文章,最后搞明白还是自己动手写的demo,很简单的demo,以后知道了,想要获取一些真理,还是要动手实践来的正确。自己动手印象深刻。

以后这种事情,就自己动手去打断点,打log,去看。追求真理,追求知识,不要偷懒,不要嫌麻烦。

android 事件传递机制的更多相关文章

  1. Android事件传递机制(转)

    Android事件构成 在Android中,事件主要包括点按.长按.拖拽.滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作.所有这些都构成了Android中的事件响应.总的来说,所有的事件都 ...

  2. Android事件传递机制详解及最新源码分析——ViewGroup篇

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 在上一篇<Android事件传递机制详解及最新源码分析--View篇>中,详细讲解了View事件的传递机制,没掌握或者掌握不扎实的小伙伴 ...

  3. Android事件传递机制详解及最新源码分析——View篇

    摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处. 对于安卓事件传递机制相信绝大部分开发者都听说过或者了解过,也是面试中最常问的问题之一.但是真正能从源码角度理解具体事件传递流程的相信并不多, ...

  4. Android事件传递机制详解及最新源码分析——Activity篇

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 在前两篇我们共同探讨了事件传递机制<View篇>与<ViewGroup篇>,我们知道View触摸事件是ViewGroup传递 ...

  5. Android事件传递机制总结

    Android中控件的分类 Activity dispatchTouchEvent(MotionEvent e) onTouchEvent(MotionEvent e) ViewGroup(View) ...

  6. Android事件传递机制

    http://blog.csdn.net/awangyunke/article/details/22047987 1)public boolean dispatchTouchEvent(MotionE ...

  7. android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结

    老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了: 1.onInterceptTouchEvent( ...

  8. android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()详解二之小秘与领导的故事

    总结的不是很好,自己也有点看不懂,正好现在用到了,研究了一个,再次总结,方便大家查看 总则: 1.onInterceptTouchEvent中有个Intercept,这是什么意思呢?她叫拦截,你大概知 ...

  9. android 事件传递机制(1)

    在项目中,经常遇到事件冲突,ScrollView,ViewPager滑动卡顿等情况,比如:onClick和onLongClick事件冲突,dispatchTouchEvent,onInterceptT ...

随机推荐

  1. 获取当前事件对象及this的用法

    js <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta h ...

  2. 转发-react 性能深度探讨

    作者:尤雨溪链接:https://www.zhihu.com/question/31809713/answer/53544875来源:知乎 这里面有好几个方面的问题. 1. 原生 DOM 操作 vs. ...

  3. vos忙时闲时费率不一样怎么设置

    问题: 现有一客户要求上午闲时由原来的9:00追加到9:30 即: 9:30——12:00为忙时 14:00——18:00为忙时 其他为闲时 忙时费率为0.04元即4分 闲时费率为0.025元即2分5 ...

  4. 探讨下在Delphi里面进程之间的数据共享

    进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元.现在小编就和大家来探讨一下在Delphi ...

  5. 解决频繁自动弹出“QQ拼音升级程序”,可使用旧版QQ输入法

    QQ输入法(2017年9月6日版本)下载地址: http://dlc2.pconline.com.cn/filedown_90891_8506339/BZXMP3fp/QQPinyin_Setup_5 ...

  6. 使用selenium grid与BrowserMobProxyServer联合使用

    背景:项目主要是做埋点数据,要使用 BrowserMobProxyServer,它相当于做一个代理,在你访问一个网页时,通过代理,获取打开网页的数据,对比你需要对比数据,所以这个工具提供获取页面请求的 ...

  7. 整数N分解,搭积木,离散数学中的母函数,ZOJ(1163)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1163 解题报告: 将整数N分解为:两个及以上的不重复的整数,最流 ...

  8. SpringMVC接受JSON参数详解

    转:https://blog.csdn.net/LostSh/article/details/68923874 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session ...

  9. 2018.7.18 div,section,article的区别和使用

    section ·<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中的其他部分. ·section用作一段有专题性的内容,一般在它里面会带有标题. ...

  10. while counter<10:

    [root@chenbj test]# python Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat ...