Android 中文API (91) —— GestureDetector

前言

本章内容是android.view.GestureDetector,版本为Android 2.3 r1,翻译来自"Haiya 胡蝶",再次感谢"Haiya 胡蝶" !期待你一起参与Android中文API的翻译,联系我over140@gmail.com。

 

声明

  欢迎转载,但请保留文章原始出处:) 

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://goo.gl/6vJQl

 

正文

  一、结构

public class GestureDetector extends Object

        

java.lang.Object

android.view.GestureDetector

 

  二、概述

  通过系统提供的MotionEvent来监测各种手势和(触摸)事件。当一个指定的手势事件发生时,GestureDetector.OnGestureListener回调函数将通告用户。这个类仅仅处理由触摸引发的MotionEvent(不能处理由轨迹球引发的事件)。要使用这个类需执行以下操作:

  * 为你的View建立一个GestureDetector实例。

  * 在View的onTouchEvent(MotionEvent)方法里确保调用(GestureDetector的)onTouchEvent(MotionEvent)方法。当相关事件发生时,定义在回调函数里的方法将被执行。

 

  三、嵌套类

  interface          GestureDetector.OnDoubleTapListener

  双击和轻击(confirmed single-tap)事件的监听器。(译者注:confirmed single-tap是用户快速点一下触摸屏所引发的动作。区分下面两种情况:

  1.       手指按下,停留0.2秒(估计值)以上再抬起时,不算confirmed single-tap

  2.       快速点击屏幕两次不会引发两次confirmed single-tap事件,而是引发一次DoubleTap事件。)

 

  interface          GestureDetector.OnGestureListener

  在有手势动作发生时,通知的监听器

 

  class        GestureDetector.SimpleOnGestureListener         

  当只需要监听部分手势时,用于扩展的便捷类

 

  四、构造函数

public GestureDetector (GestureDetector.OnGestureListener listener, Handler handler)

已弃用,替代方法:

GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler)

通过提供的监听器来创建一个GestureDetector,这个构造函数只能用于非UI线程(因为它允许指定一个handler)。

参数

         listener 用于触发所有回调函数的监听器,不能为空

handler 需要使用到的handler

异常

         NullPointerException   Listener或者handler为空时

 

public GestureDetector (GestureDetector.OnGestureListener listener)

已弃用,替代方法:

GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener)

通过提供的监听器来创建一个GestureDetector。你只能于UI线程里使用这个构造函数(这是通常的情况)

参数

         listener    用于触发所有回调函数的监听器,不能为空

异常

    NullPointerException   如果Listener为空

参见

    Handler()

 

public GestureDetector (Context context, GestureDetector.OnGestureListener listener)

通过提供的监听器来创建一个GestureDetector。(通常情况下)你只能于UI线程里使用这个构造函数

         参数

                   context    应用程序上下文

listener    用于触发所有回调函数的监听器,不能为空

                   异常

           NullPointerException   如果Listener为空

参见

        Handler()

 

public GestureDetector (Context context, GestureDetector.OnGestureListener listener, Handler handler)

通过提供的监听器来创建一个GestureDetector. (通常情况下)你只能于UI线程里使用这个构造函数

         参数

context    应用程序上下文

listener    用于触发所有回调函数的监听器,不能为空

handler    需要使用到的handler

                   异常

           NullPointerException       如果Listener为空

参见

       Handler()

 

public GestureDetector (Context context, GestureDetector.OnGestureListener listener, Handler handler, boolean ignoreMultitouch)

通过提供的监听器来创建一个GestureDetector. (通常情况下)你只能于UI线程里使用这个构造函数

         参数

context    应用程序上下文

listener    用于触发所有回调函数的监听器,不能为空

handler    需要使用到的handler

ignoreMultitouch     是否忽视多点触控(译者注:仅适用于2.2以上的android版本,如果没设置这个参数(即使用的是上一个构造函数),则会忽视多点触控

,由于网上都没有在GestureDetector传入handler的例子,所以我也不明白这里的handler的具体用意。如果有需要深入理解的朋友,请参照GestureDetector的源码

                  异常

           NullPointerException       如果Listener为空

参见

       Handler()

 

  五、公共方法

public boolean isLongpressEnabled ()

返回值

如果允许长按事件,则返回true,否则为false

 

public boolean onTouchEvent (MotionEvent ev)

分析指定的动作事件,如何满足条件,就触发在GestureDetector.OnGestureListener中提供的回调函数

         参数

                   ev     当前的触摸事件(译者注:如MotionEvent_DOWN, MotionEvent_UP)

         返回值

                   如果GestureDetector.OnGestureListener消耗了这个事件,则返回true,否则返回false

 

public void setIsLongpressEnabled (boolean isLongpressEnabled)

设置是否启用长按。如果启用长按,当用户按下并保持按下状态时,将收到一个长按事件,同时不再接收其它事件;如果禁用长按,当用户按下并保持按下状态然后再移动手指时,将会接收到scroll事件。长按默认为启用。

         参数

                   isLongpressEnabled                  是否启用接收长按事件

 

public void setOnDoubleTapListener (GestureDetector.OnDoubleTapListener onDoubleTapListener)

设置双击及其相关手势的监听器

         参数

                   onDoubleTapListener       触发所有回调函数的监听器,或者设为null以停止监听双击的手势

转载:http://www.cnblogs.com/over140/archive/2011/01/17/1937044.html

时间: 2024-08-31 02:43:37

Android 中文API (91) —— GestureDetector的相关文章

android中文api(79)——Gallery

前言 本章内容是 android.widget.Gallery,版本为Android 2.3 r1,翻译来自"henly.zhang",欢迎大家访问他的博客:http://www.blogjava.net/zlh320321,再次感谢"henly.zhang" !期待你加入Android 中文API的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android

Android中文API(97)—— ContextMenu

前言 本章内容是android.view.ContextMenu,版本为Android 2.3 r1,翻译来自"Kun",再次感谢"Kun" !期待你一起参与Android 中文API的翻译,联系我over140@gmail.com.    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android中文翻译组:http://goo.gl/6vJQl   正文 一.结构 public interface Cont

Android 中文 API (100) —— ScrollView

前言 春节即至,谨代表Android中文翻译组全体同仁祝大家身体健康,工作顺利!从第一篇译稿2010年8月27发布至今天2011年1月27整5个月,共发布100篇译文,3个合集,在新的一年里,翻译组仍将坚持Android相关的翻译工作,秉承开源.合作.共享和坚持的信念打持久战,感谢大家的关心和支持! 本章内容是android.widget.ScrollView,版本为Android 2.3 r1,翻译来自"pengyouhong",再次感谢"pengyouhong"

Android 中文API (61) —— ViewSwitcher

前言 本章内容是 android.widget.ViewSwitcher,版本为Android 2.3 r1,翻译来自"ivanlee",再次感谢"ivanlee" !期待你一起参与Android中文API的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android中文翻译组:http://code.taobao.org/project/view/404/

Android 中文API (69) —— BluetoothAdapter[蓝牙]

前言 本章内容是 android.bluetooth.BluetoothAdapter,为Android蓝牙部分的章节翻译.本地蓝牙设备的适配类,所有的蓝牙操作都要通过该类完成.版本为 Android 2.3 r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 over140

Android 中文API (70) —— BluetoothDevice[蓝牙]

前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 over140@gmail

android中文api(80)——Gallery.LayoutParams

前言 本章内容是 android.widget.Gallery.LayoutParams,版本为Android 2.3 r1,翻译来自"我是谁",欢迎大家访问他的博客:http://blog.sina.com.cn/u/1744311365,再次感谢"我是谁" !期待你加入Android 中文API的翻译,联系我over140@gmail.com.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android

Android 中文API (46) —— SimpleAdapter

前言 本章内容是 android.widget.SimpleAdapter,版本为Android 2.2 r1,翻译来自"德罗德",欢迎大家访问他的博客:http://sparkrico.javaeye.com/,再次感谢"德罗德" !期待你一起参与Android中文API的翻译,联系我over140@gmail.com.    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android中文翻译组:http:/

Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

前言 本章内容是 android.widget.AbsoluteLayout.LayoutParams,版本为Android 2.2 r1,翻译来自"绵白糖",再次感谢"绵白糖" !期待你一起参与Android中文API的翻译,联系我over140@gmail.com.    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/ Android中文翻译组:http://code.taobao.org/project/vi