- 浏览: 145366 次
- 性别:
文章分类
- 全部博客 (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 548在实际开发中LayoutInflater这个类还是非常有用的, ... -
ContentProvider之读写短消息
2014-12-08 11:08 595http://blog.csdn.net/liuhe ... -
android之启用默认浏览器
2014-11-03 12:36 515一、启动android默认浏览器 Intent inten ... -
eclipse下看android support v4源码
2014-09-18 22:24 640http://cfy10.blog.51cto.com/707 ... -
Android学习 (七)synchronized
2014-09-17 10:16 629http://hi.baidu.com/fenghuang12 ... -
ScheduledExecutorService定时周期执行指定的任务
2014-09-17 09:57 668http://blog.csdn.net/tsyj810883 ... -
android rotate
2014-09-16 15:21 1218rotate:fromDegrees:其实角度。toDegr ... -
Android获取Manifest中<meta-data>元素的值
2014-09-12 15:39 676在AndroidManifest.xml中,<meta- ... -
PopupWindow
2014-09-12 11:09 8851-初始化 PopupWindow mPop = new P ... -
scrollTo、scrollBy、getScrollX、getScrollY这4个方法的含义,Scroller的简单用法
2014-09-11 10:43 1587scrollTo、scrollBy都是 对 ... -
VelocityTracker
2014-09-11 10:14 686android.view.VelocityTracker主要用 ... -
Android之SurfaceHolder
2014-09-09 16:05 603SurfaceHolder,可以把它当成surface的控制器 ... -
android performClick使用
2014-09-09 13:53 1152performClick 是使用代码主动去调用控件的点击事件( ... -
slidingmenu使用说明
2014-09-07 10:17 610左侧、右侧和两边 在BaseActivity中将Slid ... -
Android之SlidingMenu属性详解
2014-09-07 09:52 667SlidingMenu 常用属性介绍: menu.setMod ... -
Android IOS风格侧边栏效果
2014-08-27 13:45 347http://download.csdn.net/detail ... -
android 代码设置、打开wifi热点及热点的连接
2014-08-26 10:30 1040见博客文章 http://blog.csdn.net/luob ... -
Android 之两点触摸技术
2014-08-26 09:58 743package mobile.android.multi.to ... -
Android动画之translate(位移动画)
2014-08-25 15:53 483http://www.cnblogs.com/bavariam ... -
Android 之ViewFlipper实现左右滑动动画效果
2014-08-25 15:31 7901)View切换的控件—ViewF ...
相关推荐
4. **onClickListener** 和 **onLongClickListener**:这两种方法通常与按钮等控件关联,分别用于处理点击事件和长按事件。 5. **onTouchListener**:触摸事件监听器,可以在任何类型的视图上设置,用于处理各种触摸...
但是源码的复杂往往会让新手产生畏惧难以理解,于是笔者最终还是打算使用实例log来让读者理解android事件分发。 #重要函数 笔者此次主要提及最常用的几个函数: (其间区别看源码很容易理解,此处直接给上结果) **...
首先,我们要明白Android事件分发机制涉及三个主要方法:`onTouchEvent()`, `dispatchTouchEvent()` 和 `onInterceptTouchEvent()`。 1. **事件传递流程**: - 当用户触摸屏幕时,事件首先被Activity捕获,然后...
在分发过程中,`dispatchTouchEvent()` 负责将事件传给子View,`onInterceptTouchEvent()` 允许 ViewGroup 在事件到达具体子View之前拦截事件,而 `onTouchEvent()` 是处理实际的触摸事件。 在上述示例代码中,一个...
首先,我们需要了解事件分发涉及的主要方法:`dispatchTouchEvent()`、`onTouchEvent()` 和 `onInterceptTouchEvent()`。当用户在屏幕上触摸时,系统会生成一个MotionEvent,然后通过事件分发机制将这个事件传递给...
事件分发和消费我们主要涉及到以下三个方法:dispatchTouchEvent():分发事件onInterceptTouchEvent():拦截事件onTouchEvent():处理事件还需要注意常用的两个接口对以上方法的影响:OnClickListener:点击事件监听...
Android面试中的事件分发机制是开发者必须掌握的关键知识点之一,涉及到UI交互的底层逻辑。事件分发主要处理用户与屏幕的交互,例如点击、滑动等操作。在Android中,事件分发涉及到MotionEvent的传递流程,从...
1. OnTouchListener和OnClickListener:在同一个View上同时设置OnTouchListener和OnClickListener可能会导致滑动事件与点击事件冲突。通常,可以通过在OnTouchListener中判断ACTION_UP事件来避免点击事件的触发。 2...
2. **事件分发**:事件分发主要涉及`dispatchTouchEvent()`、`onInterceptTouchEvent()`和`onTouchEvent()`这三个方法。 - **dispatchTouchEvent()**:Activity或ViewGroup接收到事件后,首先调用此方法进行分发。...
Android系统的事件分发主要由View的`dispatchTouchEvent()`、`onTouchEvent()`、`onInterceptTouchEvent()`三个方法协同完成。通过阅读源码,我们可以更深入地理解点击事件的处理流程,这对于优化性能和解决复杂场景...
事件分发链包括`dispatchTouchEvent(MotionEvent event)`、`onTouchEvent(MotionEvent event)`和`onInterceptTouchEvent(MotionEvent event)`三个方法。`dispatchTouchEvent`在最上层,将事件分发给子View或自己...
事件分发链包括`dispatchTouchEvent()`、`onInterceptTouchEvent()`和`onTouchEvent()`三个关键方法。 3. **触摸事件(MotionEvent)** 触摸事件是Android中最常见的事件类型,包括ACTION_DOWN(手指触摸屏幕)、...
【Touch事件分发】在Android系统中,触摸事件(Touch事件)是用户与屏幕交互的主要方式,涉及到Activity、View和ViewGroup之间的事件传递。本文将深入解析Android中的触摸事件分发机制,帮助开发者理解并更好地处理...
### Android事件分发机制详解 #### 一、事件分发机制概述 在Android开发中,事件分发机制是非常重要的一个概念。理解这一机制有助于开发者更好地处理用户交互,并且能够优化应用性能。本节将深入探讨Android事件...
Android的触屏事件处理遵循“事件分发链”这一概念。事件首先到达Activity,然后由Activity将事件分发给最底层的View。如果该View未处理事件,事件将沿着事件分发链逐级返回,直到找到能处理事件的组件或者事件被...
在Android系统中,事件处理是应用交互的核心部分,它涵盖了用户与设备间的各种交互,如触摸屏幕、按键操作等。本文将深入探讨Android事件分析,包括事件传递机制、事件监听器以及常见事件类型的处理。 首先,...
在Android系统中,事件响应机制是用户界面与应用程序交互的核心组成部分。它决定了用户在屏幕上触摸、滑动或者点击按钮等操作如何被正确处理并转化为相应的应用程序行为。Android事件响应机制主要包括事件的产生、...
然后,事件会通过View的 dispatchTouchEvent、onTouchEvent、onInterceptTouchEvent 这些方法在View树中进行分发。 1. `dispatchTouchEvent`:此方法在View树的根部开始调用,负责将事件分发给子View。如果某个子...
当事件发生时,Android会按照View-ViewGroup-Activity的顺序依次调用dispatchTouchEvent()、onTouchEvent()、onInterceptTouchEvent()来决定事件的处理。默认情况下,事件会从顶级View组开始向下分发,如果某个View...
在Android开发中,事件响应是用户与应用交互的关键部分,理解和掌握不同的事件处理方式对于创建高效、用户体验良好的应用至关重要。本教程"008_android 之 常见事件响应的实现方式对比"深入探讨了Android中几种常见...