总体把握Android中的触摸事件处理
来源:互联网 发布:数据采集卡的采样率 编辑:程序博客网 时间:2024/06/06 20:59
- 声明:转载请注明出处:http://blog.csdn.net/Hello_Chillax/article/details/45824999
- 更多精彩请访问:http://blog.csdn.net/hello_chillax,谢谢
先看几个函数:提到Android的触摸事件处理,不少人都会立刻想到某些令人头疼的函数,这里列举一下,刺激一下你的小神经:
@Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); } @Override public boolean dispatchTouchEvent(MotionEvent ev) { return super.dispatchTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev); } @Override public boolean onTouch(View v, MotionEvent event) { return false; }
恩,今天我们来看一下这四个函数的作用以及之间的调用关系,从而理清触摸事件处理机制。
一. 我们先来搞定其中的两个:
@Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev); }
1.1 首先明确一点,Android的事件分发和处理是自上而下的,即一个触摸事件第一次肯定是发给最外层的View的。
1.2 这里我们举个例子:我们假设一个窗口的多个ViewGroup组成了一个大家庭,其中最外层的View辈分最长,最里层的View辈分最小,然后把一个触摸事件event比喻成一个苹果。那么,如果发生了一个事件(获得了一个苹果),将会发生如下的事情:
苹果的传递过程:
爷爷——>爸爸——>孙子。
那如果爷爷这一辈把苹果吃掉了呢,这时我们称这个事件被消费。
看下图:
再细致地去分析:
至此,是不是对Android中的消息传递机制有了一个整体上的把握呢,
下面我们再去弄清一些细节。
0 0
- 总体把握Android中的触摸事件处理
- android中的触摸事件处理过程详解
- Android View系统源码分析(一)——概述&触摸事件总体处理流程
- Android:处理触摸事件
- android中的触摸事件
- android的触摸事件处理
- android触摸事件处理流程
- android触摸事件处理流程
- Android 触摸事件处理机制
- android触摸事件处理逻辑
- Android 触摸事件处理机制
- Android触摸事件处理流程
- iOS中的触摸事件和手势处理
- iOS中的触摸事件和手势处理
- iOS中的触摸事件和手势处理
- iOS中的触摸事件和手势处理
- iOS中的触摸事件和手势处理
- iOS中的触摸事件和手势处理
- 浅谈服务意识
- 【数据运营】产品经理思维如何颠覆营销?
- FPS的计算方法
- sqlserver的位运算应用
- Python安装与环境配置
- 总体把握Android中的触摸事件处理
- JAVA生成短8位UUID
- 中国象棋将帅问题
- POJ 1815 - Friendship(网络流‘最小割)
- python 的日志logging模块学习
- 关于光纤传播速度比铜线快的误解
- asm.jar使用不了,Error:Could not find adb, please install Android SDK and set path to adb
- Neon 指令集 ARMv7/v8 对比
- 诸葛——如何摆脱APP速死症?