美文网首页
事件传递机制总结(一)

事件传递机制总结(一)

作者: 吴振宇 | 来源:发表于2017-03-23 22:18 被阅读0次

自定义了两个viewgroup和一个view依次相套,代码测试得出以下结论。

一. touch事件的3个方法

public boolean dispatchTouchEvent(MotionEvent ev);  // 分发事件

public boolean onInterceptTouchEvent(MotionEvent ev);   // 拦截事件

public boolean onTouchEvent(MotionEvent ev);  // 处理事件

PS:viewgroup 拥有这三个方法   acitivity和view没有拦截方法,可以简单理解下,view是最后一个控件了下面没有任何控件了,而activity是界面的起点没必要拦截。

1.dispatchTouchEvent()方法

返回值分为 true,false ,还有可以返回 父类的dispatchTouchEvent()方法。而他们三的区别是什么呢? 

①首先 true、false与调用父类dispatchTouchEvent()方法不同的是:父类dispatchTouchEvent()方法中调用了onInterceptTouchEvent()

②其次返回true与false都会让事件终止,不会进行下去。

2.onInterceptTouchEvent()方法

返回值还是可以分为三种true,false,父类onInterceptTouchEvent()方法。

①当返回值为true的时候,表示事件拦截 ,然后调用自己的onTouchEvent()。

②当返回false的时候或者返回父类onInterceptTouchEvent()方法(父类方法默认返回false)表示事件放行,不会调用自己的onTouchEvent()方法。让事件传递下去。

3.onTouchEvent()方法

事件处理方法,通过传过来的MotionEvent ev参数进行事件处理

①返回值为false的时候为在调用自己onTouchEvent()后会调用父类的onTouchEvent().

①返回值为true的时候为在调用自己onTouchEvent()后会不会调用父类的onTouchEvent().表示该方法被自己消费掉。

传递事件顺序图,下一章总结吧...   :)

相关文章

  • 事件传递机制总结(一)

    自定义了两个viewgroup和一个view依次相套,代码测试得出以下结论。 一. touch事件的3个方法 pu...

  • 浅谈Android 事件分发机制(二)

    在上一篇文章中,浅谈Android 事件分发机制(一),简要分析了一下事件分发机制的原理,总结一下就是事件层层传递...

  • 浅谈Android 事件分发机制(二)

    在上一篇文章中,浅谈Android 事件分发机制(一),简要分析了一下事件分发机制的原理,总结一下就是事件层层传递...

  • Android中事件传递机制的总结

    Android中事件传递机制的总结 http://www.cnblogs.com/smyhvae/p/480227...

  • 深入浅出iOS事件机制

    深入浅出iOS事件机制事件传递:响应链事件传递响应链

  • Android 触摸事件

    前言 由于在项目中遇到比较特殊的点击事件,让我去了解Android 触摸事件的传递机制 最后总结: -触摸事件的传...

  • Android触摸事件的应用

    前言 上一篇讲了Android触摸事件的传递机制,具体可以看这里 初识Android触摸事件传递机制。既然知道A...

  • 安卓事件传递机制

    事件传递机制 View dispatchTouchEvent():分发事件 onTouchEvent():处理事件...

  • Android Event事件传递机制总结

    概述 相信很多写过复杂自定义view的人都或多或少遇到一些事件响应不对的坑,在这里通过例子具象地把Android里...

  • 01进阶之路-UI视图

    1. 事件传递机制和响应者链条 学习链接 事件传递机制iOS中的事件可以分为3大类型 1 触摸事件 2 加速计...

网友评论

      本文标题:事件传递机制总结(一)

      本文链接:https://www.haomeiwen.com/subject/nuotottx.html