`

onInterceptTouchEvent()事件处理点击的承继关系

UP 
阅读更多
onInterceptTouchEvent()的机制:
1. down事件首先会传递到onInterceptTouchEvent()方法
2. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,
   那么后续的move, up等事件将继续会先传递给该ViewGroup,之后才和down事件一样传递给最
   终的目标view的onTouchEvent()处理
3. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,
   那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样
   传递给该ViewGroup的onTouchEvent()处理,注意,目标view将接收不到任何事件。
4. 如果最终需要处理事件的view的onTouchEvent()返回了false,那么该事件将被传递至其上一
   层次的view的onTouchEvent()处理
5. 如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递
   给该view的onTouchEvent()处理
分享到:
评论
1 楼 gaogaf 2010-07-14  
看着有点糊涂

相关推荐

    onInterceptTouchEvent

    在Android开发中,`onInterceptTouchEvent()`是一个关键的方法,它涉及到ViewGroup(如LinearLayout、RelativeLayout等)如何处理触摸事件的分发。这个方法是ViewGroup独有的,它允许父视图拦截并处理子视图的触摸...

    onInterceptTouchEvent与OntouchEvent之间

    `onInterceptTouchEvent`方法在ViewGroup中定义,它的主要作用是拦截事件流,即决定事件是否由父视图处理,还是继续传递给子视图。当一个触摸事件发生时,系统首先会调用父视图的`onInterceptTouchEvent`。如果返回`...

    onInterceptTouchEvent和onTouchEvent调用关系详解

    理解并掌握`onInterceptTouchEvent`和`onTouchEvent`的调用关系,可以帮助开发者更灵活地控制触摸事件的流向,实现复杂的手势识别和用户界面交互。在实际开发中,我们可以通过重写这两个方法,为自定义View或...

    onInterceptTouchEvent和onTouchEvent使用demo

    如果在某个父View中`onInterceptTouchEvent`返回`true`,则表示该父View想要拦截并处理这个事件,后续的触摸事件将不再传递给子View。默认情况下,`onInterceptTouchEvent`返回`false`,表示不拦截事件,事件将继续...

    android事件2-onInterceptTouchEvent和onTouchEvent调用时序

    在Android开发中,理解和掌握`onInterceptTouchEvent`与`onTouchEvent`的调用时序至关重要,因为它们是实现触摸事件处理的关键。这两个方法都属于Android的触摸事件处理机制,涉及到了ViewGroup与子View之间的事件...

    onTouchEvent 、onInterceptTouchEvent的顺序~

    在Android开发中,触摸事件处理是用户界面交互的关键部分,`onTouchEvent` 和 `onInterceptTouchEvent` 是处理这些事件的两个重要方法。本文将深入探讨这两个方法的使用、顺序以及它们在Android事件分发机制中的角色...

    onInterceptTouchEvent和onTouchEvent学习

    ViewGroup可以通过重写`onInterceptTouchEvent`来决定是否拦截这个事件并处理,还是将事件传递给它的子View。如果返回`true`,表示ViewGroup截取了事件,后续的触摸事件会直接调用`onInterceptTouchEvent`;如果返回...

    View的onInterceptTouchEvent(MotionEvent ev)和dispatchTouchEvent(MotionEvent ev)

    或者,我们可以通过覆写`dispatchTouchEvent`来改变默认的事件处理顺序,比如在点击某个按钮时阻止其他View的响应。 总之,`onInterceptTouchEvent`和`dispatchTouchEvent`是Android触摸事件处理的核心组件。通过...

    View的onInterceptTouchEvent(MotionEvent ev)和dispatchTouchEvent(MotionEvent ev) 解析

    `onInterceptTouchEvent(MotionEvent ev)` 和 `dispatchTouchEvent(MotionEvent ev)` 是ViewGroup和View类中处理触摸事件的关键方法,它们协同工作,确保触摸事件能够正确地传递和分发到相应的视图。下面将详细解析...

    Android中父View和子view的点击事件

    在Android开发中,用户界面的交互是至关重要的,而点击事件的处理是UI交互的核心部分。本文将深入探讨Android中父View( ViewGroup)与子View的点击事件处理机制,以及如何在实际应用中进行有效管理。 一、点击事件...

    Android事件处理机制ViewGroup的事件传递

    Android事件处理基于一个简单的模型:当用户与屏幕上的UI元素交互时,系统会产生事件(如点击、滑动等)。这些事件首先被最上层的视图捕获,然后通过事件分发链逐级向下传递。 2. **事件分发流程** 事件分发主要...

    android中dispatchTouchEvent和onInterceptTouchEvent研究

    `dispatchTouchEvent`和`onInterceptTouchEvent`是Android组件处理触摸事件的关键方法,它们在View和ViewGroup之间协同工作,决定了事件如何被分发和拦截。这篇文章将深入探讨这两个方法的工作原理,以及它们如何...

    Android 中触摸事件与点击事件分析

    在Android开发中,理解和处理触摸事件与点击事件是至关重要的,因为它们构成了用户与应用程序交互的基础。本篇文章将深入探讨Android中的View事件传递机制、事件消费以及触摸事件和点击事件的区别。 首先,让我们来...

    Android 事件处理机制

    在Android系统中,事件处理机制是用户界面交互的关键部分,它允许应用程序响应用户的输入操作,如点击、滑动等。Android事件处理主要包括两种方式:基于监听器(Listener)的事件处理和基于消息队列(Message Queue...

    android之Touch事件处理机制测试

    例如,可以创建一个LinearLayout作为父View,包含两个子View,分别处理点击和滑动事件,观察并调整事件分发过程,以确保事件处理符合预期。 总结,理解并熟练运用Android的Touch事件处理机制对于优化用户界面交互至...

    Android事件处理机制详解及源码

    当用户在屏幕上进行操作时,如点击按钮或滑动屏幕,这些动作会被转换为触摸事件并由系统进行处理。事件的分发过程通常是从顶级父View开始,沿着View树向下传递,直到某个View消费该事件或者事件传递回顶级父View为止...

    关于点击事件的资料

    总结起来,Android中的点击事件处理是一个复杂的事件分发过程,涉及到onInterceptTouchEvent()和onTouchEvent()两个关键方法。通过它们,开发者可以灵活控制触摸事件的流向,实现自定义的交互逻辑。理解并熟练掌握这...

    Android 点击事件demo

    本Demo,"Android 点击事件demo",旨在深入解析Android中点击事件的处理机制,帮助开发者更好地理解和运用。以下是关于Android点击事件的关键知识点: 1. **事件分发机制**: Android中的事件分发遵循"从上到下,...

    android中的事件处理

    2. 触摸事件的处理流程:首先由ViewGroup的dispatchTouchEvent()分发事件,然后由子View的onTouchEvent()处理,最后ViewGroup的onInterceptTouchEvent()拦截事件。 三、九大事件 1. 触摸事件:上述已详细介绍。 2....

Global site tag (gtag.js) - Google Analytics