继承自View的:onTouchEvent、dispatchTouchEvent
继承自ViewGroup的:onTouchEvent、dispatchTouchEvent、onInterceptTouchEvent
dispatchTouchEvent:用于派发touch event,一般不需要重写。
onInterceptTouchEvent:用于拦截touch event,返回false表示不拦截,touch event会一直向容器下的子view派发下去,执行子view的dispatchTouchEvent;
返回true,表示拦截,即不再向子view派发,而会直接执行 当前ViewGroup中的onTouchEvent
onTouchEvent: handle touch event,返回false,表示touch event 未处理完毕,继续交由父View的onTouchEvent来处理;
返回true,表示自己处理好了,不再向上传递
Activity可以重写dispatchTouchEvent, 这是touch event 的入口。
分享到:
相关推荐
事件传递方法包括dispatchTouchEvent、onTouchEvent、onInterceptTouchEvent,其中前两个是View和ViewGroup都有的,最后一个是只有ViewGroup才有的方法。这三个方法的作用分别是负责事件分发、事件处理、事件拦截。 ...
一般顺序是是:父控件的:dispatchTouchEvent,onInterceptTouchEvent,子控件的dispatchTouchEvent,onTouchEvent。如果子控件消费掉触摸事件,父控件就不再执行onTouch了 如果做一些特殊处理,子控件的有些方法...
安卓事件分发机制测试代码,事件传递从Activity-->ViewGroup-->View。dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三个函数的返回值不同,代表的事件传递的不同。
基于这个猜测,我自定义一个ViewPager,重写dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent,分别在这三个方法中打印log; 重写SlidingMenu的dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent,...
Title : dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三者对MotionEvent的分发、拦截机制分析 Author: yaong Category:自己做的Demo Tips : 三个自定义View,依次嵌套,并各自覆写拦截、监听方法,通过...
通过代码实践总结dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent的调用流程、顺序、及返回值对事件处理的影响。
Android的触摸事件分发过程由三个很重要的方法来共同完成:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent。我先将这三个方法大体的介绍一下。 •public boolean dispatchTouchEvent(MotionEvent ev)...
安卓Android事件分发处理 ...主要处理事件分发 和事件消费dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent 3个方法对事件的拦截与否。10分我都觉得少,下不起就别用这么牛逼的自定义,让产品经理换需求。
之前笔者其实已经写过事件分发机制的文章:[快速理解android事件传递拦截机制概念](http://blog.csdn.net/double2hao/article/details/51541061) 但是,现在看来其实更像是一篇知识概括,多出可能未讲清楚,于是打算...
Touch事件传递机制分析Demo,展示dispatchTouchEvent(),onInterceptTouchEvent(),onTouchEvent()的事件传递顺序。使用方法:安装,连接androidstudio看logcat
Android中与事件分发相关的方法主要包括dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三个方法,而事件分发一般会经过三种容器,分别为Activity、ViewGroup、View。下表对这三种容器分别拥有的事件分发...
Touch事件传递机制分析Demo,dispatchTouchEvent(),onInterceptTouchEvent(),onTouchEvent()
Android手势事件的冲突跟点击事件的分发过程息息相关,由三个重要的方法来共同完成,分别是:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent。 public boolean dispatchTouchEvent(MotionEvent ev) 这个...
1 dispatchTouchEvent 这个方法用来分发TouchEvent 2 onInterceptTouchEvent 这个方法用来拦截TouchEvent 3 onTouchEvent 方法用来处理TouchEvent 比较特殊一点的是onInterceptTouchEvent 事件,在activity...
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。...
开篇语:最近程序在做一个小效果,要用到touch,结果整得云里面雾里的,干脆就好好把android touch机制好好看了一下,呵呵。...3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent
事件分发和消费我们主要涉及到以下三个方法:dispatchTouchEvent():分发事件onInterceptTouchEvent():拦截事件onTouchEvent():处理事件还需要注意常用的两个接口对以上方法的影响:OnClickListener:点击事件监听...
一.Android View框架提供了3个对事件的主要操作概念。 1、事件的分发机制,dispatchTouchEvent。主要是parent根据触摸事件的产生位置,以及child是否愿意负责处理该系列事件等状态,向其child分发事件的机制。 2、...
Android开发,触控无处不在。...说白了这些触控的事件分发机制就是弄清楚三个方法,dispatchTouchEvent(),OnInterceptTouchEvent(),onTouchEvent(),和这三个方法与n个ViewGroup和View堆叠在一起的问题,再复杂的