Android事件分发及拦截机制
来源:互联网 发布:nginx lua 开发 编辑:程序博客网 时间:2024/06/07 15:24
一、MotionEvent
这是Android为触摸事件封装的一个类。只要是重写触摸相关方法,参数一般都含有MotionEvent,可见其重要性。其中包括的一些常用的重要属性和方法:
- MotionEvent.ActionDown:手指按下
- MotionEvent.ActionMove:滑动
- MotionEvent.ActionUp:手指抬起
- getX():获取相对于控件左上角的X轴(横向)坐标
- getY():获取相对于控件左上角的Y轴(纵向)坐标
二、Touch事件相关方法
- dispatchTouchEvent()事件分发
当Touch事件发生时,dispatchTouchEvent()方法会以隧道方式(即从根元素依次向内层元素传递)将事件向下传递。一般来说我们不会去改写这个方法
return true :事件交由当前view进行消费,同时事件停止向下传递
return false:事件交由上层view或者Activity进行消费
return super.dispatchTouchEvent():系统默认的事件分发处理逻辑
- onInerceptTouchEvent()事件拦截
该方法只有ViewGroup拥有。
return true:表示拦截事件,把拦截的事件交由当前的view处理
return fasle:表示不拦截事件,事件会被传递到子view的dispatchTouchEvent()来进行事件分发
- onTouchEvent()事件响应
onTouchEvent()方法会以冒泡方式(即从最内层的子元素依次向外传递)将事件向上传递。
return true:表示消费了事件,事件停止向上传递
return false:表示没有处理事件,事件继续向上传递
return super.onTouchEvent():默认处理事件的逻辑,和返回false差不多
我们也可以看着下图帮助理解,当ViewGroup拦截事件时就会停止向下分发并交给同层的事件消费进行处理。
-------------------------------Android群英传第三章
0 0
- Android事件分发及拦截机制
- Android事件分发,拦截,处理机制
- Android事件拦截/分发/响应 机制
- android触摸传递机制 - 拦截、事件分发
- Android事件分发拦截机制(图解)
- android事件拦截和分发机制详解
- Android View事件分发、拦截、消费机制
- Android 事件拦截和分发机制分析
- Android View事件分发、拦截、消费机制
- Android 触摸事件分发和拦截机制
- Android中的事件分发、拦截、消费机制
- Android事件的分发与拦截机制
- 事件分发拦截机制
- 事件分发拦截机制
- Android 事件拦截机制、事件分发机制简单分析
- Android事件分发机制,事件拦截和事件响应
- Android 事件拦截分发
- andropid事件分发拦截机制
- android日常开发总结的技术经验60条
- FindJpg(2)-BitMap的高效加载和缓存
- 一般调试器工作原理
- 基于Redux架构的单页应用开发总结(三)
- spark 启动
- Android事件分发及拦截机制
- 二、外观模式(Facade)
- 面向对象——final
- Android调用微信扫一扫
- scala 初始化
- 设计模式之工厂模式
- Fiddler 教程
- AS的 Google App Indexing导致项目报错的方法
- 你是下一个被淘汰的程序员吗?