Android笔记——GestureDetector
来源:互联网 发布:网景软件站 编辑:程序博客网 时间:2024/05/16 09:05
一、GestureDetector的作用
GestureDetector,顾名思义,是用来处理我们在屏幕上进行各种手势操作的类。当我们想对长按、滑动等手势进行相关处理的时候,GestureDetector就派上用场了。
二、GestureDetector的使用
1.GestureDetector的使用流程:
GestureDetector和一般的button事件处理相类似。就是首先创建一个GestureDetector类,然后需要包含它所在的context以及它的监听器Listener。创建GestureDetector类:GestureDetectormGestureDetector = new GestureDetector(Context context,GestureDetector.OnGestureListener listener)。这里只是其中一种方法。
创建类之后,一定要记得重写onTouchEvent方法,不然的话我们进行手势操作是不起作用的!
2.Listener中的函数(SimpleOnGestureListener中的):
(1)onDoubleTap:当双击之后进入该函数。
<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public boolean onDoubleTap(MotionEvent e) {<span style="white-space:pre"></span>// TODO Auto-generated method stub<span style="white-space:pre"></span>return super.onDoubleTap(e);<span style="white-space:pre"></span>}(2)onDoubleTapEvent:这是处理onDoubleTap之前可能有up、down和move的event。所以在进入onDoubleTap之前会三次进入该函数。
@Overridepublic boolean onDoubleTapEvent(MotionEvent e) {// TODO Auto-generated method stubLog.i("onDoubleTapEvent", "onDoubleTapEvent");return super.onDoubleTapEvent(e);}(3)onDown:按下之后就会进入该函数。
@Overridepublic boolean onDown(MotionEvent e) {// TODO Auto-generated method stubLog.i("onDown", "onDown");return super.onDown(e);}(4)onFling:当执行滑动操作的时候进入该函数(也就是手指从一个点滑到另一个点停)。
@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {// TODO Auto-generated method stubLog.i("onFling", "onFling");return super.onFling(e1, e2, velocityX, velocityY);}(5)onLongPress:当长按的时候进入该函数。
@Overridepublic void onLongPress(MotionEvent e) {// TODO Auto-generated method stubLog.i("onLongPress", "onLongPress");super.onLongPress(e);}(6)onScroll:当手指在屏幕上滑动的时候就会进入该函数(也就是说手指在屏幕上一直滑来滑去的话,就会不断的进入该函数)。
@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY) {// TODO Auto-generated method stubLog.i("onScroll", "onScroll");return super.onScroll(e1, e2, distanceX, distanceY);}(7)onShowPress:按下之后如果没有发生其他动作则进入该函数(也就是说如果仅仅只是按下屏幕的话,就进入该函数。因为按下之后还有可能移动)
@Overridepublic void onShowPress(MotionEvent e) {// TODO Auto-generated method stubLog.i("onShowPress", "onSHOW");super.onShowPress(e);}(8)onSingleTapConfirmed:按下之后如果判断不是logPress的话,则进入该函数。
@Overridepublic boolean onSingleTapConfirmed(MotionEvent e) {// TODO Auto-generated method stubLog.i("onSingleTapConfirmed", "true");return super.onSingleTapConfirmed(e);}
(9)onSingleTapUp:官方API解释为Notified when a tap occurs with the up MotionEvent
that triggered it.
@Overridepublic boolean onSingleTapUp(MotionEvent e) {// TODO Auto-generated method stubLog.i("onSingleTapUp", "true");return super.onSingleTapUp(e);}
0 0
- Android笔记——GestureDetector
- Android — GestureDetector.OnGestureListener 详解
- android学习——GestureDetector.OnGestureListener 详解
- android学习——GestureDetector.OnGestureListener 详解
- Android手势检测——GestureDetector全面分析
- Android手势检测——GestureDetector全面分析
- Android GestureDetector
- Android GestureDetector
- Android - GestureDetector
- 手势识别——GestureDetector
- Android学习笔记--用户手势检测-GestureDetector使用详解
- Android学习笔记--用户手势检测-GestureDetector使用详解
- 安卓手机卫士学习笔记系列——GestureDetector手势识别器的使用
- GestureDetector手势检测笔记
- GestureDetector手势识别--笔记
- Android入门(53)——第八章 使用GestureDetector进行手势识别
- Android GestureDetector手势识别
- Android 浅析GestureDetector
- 生成XML文件(DOM,DOM4J)
- 冒泡排序
- 大端与小端
- SQL 优化原则
- iPhone屏幕尺寸、分辨率及适配
- Android笔记——GestureDetector
- C++模板(二)
- C# 中Linq的多对象join操作
- asp.net后台接收app发送的图片
- Oracle 数据库监听配置
- js 图片切换 思路参考
- C++ 动态数组传参
- 一个C++的内存池和内存管理的实现(七)
- 内存泄露检测工具