Android的Touch事件处理和手势
2016-04-10 22:41
531 查看
Touch事件处理
1、是Android中两种原始事件之一2、Touch事件的处理方式有两种
1)为事件源添加 onTouchListener监听器
2)重写事件源的 onTouchEvent方法
3、Touch事件处理时,监听器拥有较高的优先级
4、事件处理方法返回值
true:消费此事件,并消费此事件的后续关联事件
false:不消费事件,对此事件的后续事件不感兴趣
5、MotionEvent
主要方法:
int getAction()
float getX()
float getY()
主要常量
int ACTION_DOWN
int ACTION_MOVE
int ACTION_UP
...
Touch事件的派发和处理过程
1、派发:1)总是从Activity开始向下逐级派发,直到将事件派发给最终的焦点控件
2)事件派发使用Activity或视图对象的 dispatchTouchEvent方法
3)dispatchTouchEvent方法的派发方向:
a-向下一级容器或控件的dispatchTouchEvent中派发
b-向该对象自己的事件处理方法中派发
2、处理
1)总是从最终的焦点控件的事件处理方法开始
2)如果事件被消费则事件处理完成,如果事件未被消费,则传递给其父容器的事件处理方法
以此类推 如果一直未被消费,最终在Activity的onTouchEvent中处理
手势
1、步骤1)创建类 实现 OnGestureListener
或扩展自 SimpleOnGestureListener
重写相关的手势处理方法
2)使用手势监听器对象 创建一个 GestureDetector(手势探测器)
3)在Touch事件处理方法中 将所有的touch事件传递给GestureDetector
的onTouchEvent方法
2、主要的相关接口和类型
1、OnGestureListener
onFling
onScroll
...
2、OnDoubleTapListener
onDoubleTap
...
3、SimpleOnGestureListener implements
OnGestureListener,OnDoubleTapListener
4、GestureDetector
构造方法:GestureDetector(Context context,OnGestureListener l)
主要方法:
boolean onTouchEvent(MotionEvent event)
相关文章推荐
- Android自定义View之Layout的放缩(1)
- Android启动模式总结
- Android进程优先级
- android native service编写及两个服务进程通讯
- android Camera 数据流程分析
- 作业——在线学习Android课程之第六周
- Android绘图机制与处理技巧-更新中
- android --- 深入理解 JNI
- Android线程相关_Handler_Message_AsyncTask
- 【苦读官方文档】2.Android应用程序基本原理概述
- 一句话理清service和activity 通信的机制
- Android实现画板功能的多种实现方式
- Android常用系统广播
- Android的内外存储、SharedPreferences(偏好设置)及获取空间使用情况
- android应用程序如何获取View的坐标
- Android笔记 关掉两个Activity之间的Activity
- Android开发编码规范
- Android学习(16) --获取sd卡剩余容量的代码
- Android实训案例(七)——四大组件之一Service初步了解,实现通话录音功能,抽调接口
- Android实训案例(七)——四大组件之一Service初步了解,实现通话录音功能,抽调接口