- 浏览: 137236 次
- 性别:
文章分类
- 全部博客 (226)
- Android (181)
- C# (8)
- BOOTSTRAP (1)
- ASP.NET MVC4 (1)
- 设计模式 (1)
- VB.NET (1)
- WPF (0)
- PLC (0)
- 电气图纸 (0)
- 数据库 (5)
- Java (5)
- Window phone (0)
- 仪器仪表 (0)
- 变频器 (0)
- 低压电器 (0)
- 物联网 (0)
- Photoshop (1)
- SVN (1)
- 单片机 (5)
- IT (1)
- Android_IOS风格 (0)
- Android_广告栏展示 (0)
- Android_动画 (1)
- Android_Adapter (0)
- Android_ListView (1)
- Android_File (2)
- Android_表单提交 (0)
- Android_WebView (1)
- PHP (2)
- Android_Excel (1)
- Android_drawable (1)
- Android_theme (2)
- Android_phonegap (2)
- Android_AndroidManifest (1)
- ThinkPHP (0)
- Jquery (1)
- Android_ContentProvider (1)
最新评论
onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截.
1.down事件首先会传递到onInterceptTouchEvent()方法。
2.如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move,up等事件将继续会先传递给该ViewGroup,只有当onInterceptTouchEvent返回true的时候才结束onInterceptTouchEvent事件并传递给最终的目标view的onTouchEvent()处理,但是childView将接收不到任何事件。
3.如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGroup的onTouchEvent()处理。并且,childView将接收不到任何事件。
4.如果最终需要处理事件的view的onTouchEvent()返回了false,表示View可以可以继续执行其他监听,如OnClickListener、OnLongClick。
5.如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理,但是其他的监听将不再执行,如OnClickListener、OnLongClick。
6.view的onTouchEvent默认返回值为false;
该View是怎么响应这个点击动作的呢?
首先,该View会先响应ACTION_DOWN事件,并返回一个boolean值,这里有两种判断:
a:返回True,表示该View接受此按下动作,就是说这个点击动作的按下操作被中止,然后就是响应ACTION_UP事件。点击动作的按下操作被ACTION_DOWN接受之后就结束了,所以之后的OnClick/OnLongClick事件就不会响应了。
b:返回false,表示该View不接受此按下动作,响应完之后,按下操作继续往下发,之后是响应ACTION_UP事件,这里又有一个判断:
如果ACTION_UP事件返回True,表示ACTION_UP接受松开操作,松开操作中止;View会一直处于按下状态,之后View便会响应OnLongClick事件。
如果ACTION_UP事件返回false,表示ACTION_UP不接收松开操作,松开操作继续下发;因为按下与松开操作都没有被中止,所以之后View就会响应OnClick事件。
1.down事件首先会传递到onInterceptTouchEvent()方法。
2.如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move,up等事件将继续会先传递给该ViewGroup,只有当onInterceptTouchEvent返回true的时候才结束onInterceptTouchEvent事件并传递给最终的目标view的onTouchEvent()处理,但是childView将接收不到任何事件。
3.如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGroup的onTouchEvent()处理。并且,childView将接收不到任何事件。
4.如果最终需要处理事件的view的onTouchEvent()返回了false,表示View可以可以继续执行其他监听,如OnClickListener、OnLongClick。
5.如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理,但是其他的监听将不再执行,如OnClickListener、OnLongClick。
6.view的onTouchEvent默认返回值为false;
该View是怎么响应这个点击动作的呢?
首先,该View会先响应ACTION_DOWN事件,并返回一个boolean值,这里有两种判断:
a:返回True,表示该View接受此按下动作,就是说这个点击动作的按下操作被中止,然后就是响应ACTION_UP事件。点击动作的按下操作被ACTION_DOWN接受之后就结束了,所以之后的OnClick/OnLongClick事件就不会响应了。
b:返回false,表示该View不接受此按下动作,响应完之后,按下操作继续往下发,之后是响应ACTION_UP事件,这里又有一个判断:
如果ACTION_UP事件返回True,表示ACTION_UP接受松开操作,松开操作中止;View会一直处于按下状态,之后View便会响应OnLongClick事件。
如果ACTION_UP事件返回false,表示ACTION_UP不接收松开操作,松开操作继续下发;因为按下与松开操作都没有被中止,所以之后View就会响应OnClick事件。
发表评论
-
LayoutInflater
2014-12-22 21:43 510在实际开发中LayoutInflater这个类还是非常有用的, ... -
ContentProvider之读写短消息
2014-12-08 11:08 562http://blog.csdn.net/liuhe ... -
android之启用默认浏览器
2014-11-03 12:36 475一、启动android默认浏览器 Intent inten ... -
eclipse下看android support v4源码
2014-09-18 22:24 595http://cfy10.blog.51cto.com/707 ... -
Android学习 (七)synchronized
2014-09-17 10:16 578http://hi.baidu.com/fenghuang12 ... -
ScheduledExecutorService定时周期执行指定的任务
2014-09-17 09:57 633http://blog.csdn.net/tsyj810883 ... -
android rotate
2014-09-16 15:21 1169rotate:fromDegrees:其实角度。toDegr ... -
Android获取Manifest中<meta-data>元素的值
2014-09-12 15:39 638在AndroidManifest.xml中,<meta- ... -
PopupWindow
2014-09-12 11:09 8421-初始化 PopupWindow mPop = new P ... -
scrollTo、scrollBy、getScrollX、getScrollY这4个方法的含义,Scroller的简单用法
2014-09-11 10:43 1512scrollTo、scrollBy都是 对 ... -
VelocityTracker
2014-09-11 10:14 645android.view.VelocityTracker主要用 ... -
Android之SurfaceHolder
2014-09-09 16:05 566SurfaceHolder,可以把它当成surface的控制器 ... -
android performClick使用
2014-09-09 13:53 1107performClick 是使用代码主动去调用控件的点击事件( ... -
slidingmenu使用说明
2014-09-07 10:17 582左侧、右侧和两边 在BaseActivity中将Slid ... -
Android之SlidingMenu属性详解
2014-09-07 09:52 621SlidingMenu 常用属性介绍: menu.setMod ... -
Android IOS风格侧边栏效果
2014-08-27 13:45 314http://download.csdn.net/detail ... -
android 代码设置、打开wifi热点及热点的连接
2014-08-26 10:30 1000见博客文章 http://blog.csdn.net/luob ... -
Android 之两点触摸技术
2014-08-26 09:58 708package mobile.android.multi.to ... -
Android动画之translate(位移动画)
2014-08-25 15:53 441http://www.cnblogs.com/bavariam ... -
Android 之ViewFlipper实现左右滑动动画效果
2014-08-25 15:31 7421)View切换的控件—ViewF ...
相关推荐
onInterceptTouchEvent与OntouchEvent之间的事件传递机制的具体内涵关系...
NULL 博文链接:https://2528.iteye.com/blog/1056731
关于onInterceptTouchEvent和onTouchEvent使用demo,很不错的一个demo,可以帮助Android的触摸事件。
onInterceptTouchEvent和onTouchEvent调用关系详解
安卓事件分发机制测试代码,事件传递从Activity-->ViewGroup-->View。dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三个函数的返回值不同,代表的事件传递的不同。
安卓Android事件分发处理 ...主要处理事件分发 和事件消费dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent 3个方法对事件的拦截与否。10分我都觉得少,下不起就别用这么牛逼的自定义,让产品经理换需求。
NULL 博文链接:https://username2.iteye.com/blog/2193153
这三个方法的作用分别是负责事件分发、事件处理、事件拦截。 ViewGroup:如果onInterceptTouchEvent返回false则不拦截,如果返回true则拦截当前事件。onInterceptTouchEvent方法我们返回了true,在这里就将事件拦截...
本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTouchEvent的区别详解。需要的朋友参考下
但是源码的复杂往往会让新手产生畏惧难以理解,于是笔者最终还是打算使用实例log来让读者理解android事件分发。 #重要函数 笔者此次主要提及最常用的几个函数: (其间区别看源码很容易理解,此处直接给上结果) **...
Android中与事件分发相关的方法主要包括dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三个方法,而事件分发一般会经过三种容器,分别为Activity、ViewGroup、View。下表对这三种容器分别拥有的事件分发...
ViewGroup 相关函数中涉及的有dispatchToucheEvent(Event ev),onInterceptTouchEvent(Event ev),onTouch(Event ev) View 相关函数涉及的有:dispatchToucheEvent(Event ev),onTouch(Event ev)
事件分发和消费我们主要涉及到以下三个方法:dispatchTouchEvent():分发事件onInterceptTouchEvent():拦截事件onTouchEvent():处理事件还需要注意常用的两个接口对以上方法的影响:OnClickListener:点击事件监听...
NULL 博文链接:https://yxwww.iteye.com/blog/1409461
Android的触摸事件分发过程由三个很重要的方法来共同完成:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent。我先将这三个方法大体的介绍一下。 •public boolean dispatchTouchEvent(MotionEvent ev)...
Title : dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三者对MotionEvent的分发、拦截机制分析 Author: yaong Category:自己做的Demo Tips : 三个自定义View,依次嵌套,并各自覆写拦截、监听方法,通过...
onInterceptTouchEvent与onTouchEvent事件传递的分析
onInterceptTouchEvent 和 onTouchEvent 研究
onInterceptTouchEvent和onTouchEvent调用时序
android 事件传递在很多地方被描述的很复杂,难懂,其实只要自己通过代码跟一样程序的执行过程,看一下debug日志输出,就很容易理解了,在本代码里通过更改onInterceptTouchEvent和onTouchEvent的返回值,观查debug...