Android进阶- 触摸事件的分发机制

原创 2015年11月19日 20:38:27

Android进阶- 触摸事件的分发机制

  • 先来看一下,触摸事件传递的3个方法

    • onInteceptTouchEvent(): 返回true表示拦截这次触摸事件, false表示不拦截
    • dispatchTouchEvent(): 用来分发事件, 如果事件被拦截则交给
    • onTouchEvent(): 处理触摸事件,返回true表示事件被消耗, false表示没有对触摸事件进行处理
  • 那么,Android的触摸事件是怎样分发的呢

这里写图片描述

这里写图片描述

可以看出,事件会优先交给父控件来处理, 但是这样的话,做儿子的是不是也太没有权利了,因此,为了给儿子一点机会,
在dispathchTouchEvent()中可以这样写:
getParent().requestDisallowInterceptTouchEvent(true); //请求父控件给它处理触摸事件的机会

在anroid中ViewGroup一般是将事件优先交给其儿子来处理的

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[Android进阶笔记]Android触摸事件的拦截机制

Android的拦截机制是一个自顶向下的事件分发与自底向上的事件响应机制

《Android高级进阶》读书笔记——第一章:Android 触摸事件传递机制

Android高级进阶度数笔记

Android应用层View触摸事件分发机制

概述前两篇博客从源码的角度对View绘制流程进行了分析,那么当用户需要跟View进行交互的时候,比如点击按钮的时候,按钮是如何得到点击事件的呢?当用户在屏幕上进行点击或触摸的时候,事件是如何传递到各个...

Android中单个View的触摸事件分发机制

有时候会遇见点击事件和滑动事件冲突,一直搞不明白,接下来分析一下 如果只是点击,而没有对控件进行滑动的话,log日志如下 05-17 19:32:17.800 10211-10211/com.fa...

Android6.0触摸事件分发机制解读

原文链接:Android6.0触摸事件分发机制解读 本篇博文是Android触摸事件分发机制系列博文的第一篇,带领大家从全局掌握Android触摸事件分发机制。特别声明的是,本源码解读是基于最新的A...

Android触摸事件分发机制详解

Android触摸事件分发机制详解

Android中触摸事件传递分发机制

触摸事件用MotionEvent表示,在Android中,一个触摸事件从产生到最终起作用,是一个很复杂的过程,但思路还是很清晰的,就是一层一层的传递,通过一个boolean值判断是否拦截或者消耗(也就...

Android View中触摸事件分发机制的实现

针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件? 在Android中,一次用户操作可以被不同的View...

浅谈Android 触摸事件分发机制

Touch触摸事件 在Android中Touch触摸事件主要包括点击(onClick)、长按(onLongClick)、拖拽(onDrag)、滑动(onScroll)等,点击又包括单击和双击,另外还包...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)