博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中文API (91) —— GestureDetector
阅读量:7044 次
发布时间:2019-06-28

本文共 2432 字,大约阅读时间需要 8 分钟。

正文

  一、结构

 

public class GestureDetector extends Object

        

java.lang.Object

android.view.GestureDetector

 

 

  二、概述

 

 

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

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

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

 

 

  三、嵌套类

 

  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 ( listener,  handler)

已弃用,替代方法:

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

参数

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

handler 需要使用到的handler

异常

            Listener或者handler为空时

 

public GestureDetector ( listener)

已弃用,替代方法:

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

参数

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

异常

       如果Listener为空

参见

    

 

public GestureDetector ( context,  listener)

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

         参数

                   context    应用程序上下文

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

                   异常

              如果Listener为空

参见

        

 

public GestureDetector ( context,  listener,  handler)

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

         参数

context    应用程序上下文

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

handler    需要使用到的handler

                   异常

                  如果Listener为空

参见

       

 

public GestureDetector ( context,  listener,  handler, boolean ignoreMultitouch)

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

         参数

context    应用程序上下文

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

handler    需要使用到的handler

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

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

                  异常

                  如果Listener为空

参见

       

 

 

  五、公共方法

 

public boolean isLongpressEnabled ()

返回值

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

 

public boolean onTouchEvent ( ev)

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

         参数

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

         返回值

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

 

public void setIsLongpressEnabled (boolean isLongpressEnabled)

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

         参数

                   isLongpressEnabled                  是否启用接收长按事件

 

public void setOnDoubleTapListener ( onDoubleTapListener)

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

         参数

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

 

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582415,如需转载请自行联系原作者

你可能感兴趣的文章
VII Python(7)爬虫
查看>>
android Installation error: INSTALL_FAILED_CONTAINER_ERROR错误
查看>>
数据库安全管理
查看>>
java位运算
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
linux基本命令
查看>>
数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析
查看>>
部署SCVMM 2012R2
查看>>
python编程题-句子的逆序
查看>>
ISL和IEEE 802.1Q帧格式
查看>>
bash常用指令(未完)
查看>>
界面设计(建议)
查看>>
firewall防火墙
查看>>
iOS开发网络篇—HTTP协议
查看>>
Open×××的Linux内核版,鬼魅的残缺 part II:The encrypt engine
查看>>
让您在Directx3D中轻松获取剩余显存
查看>>
根据表的某个字段拆分大表成多个小表,以前做的,留作笔记
查看>>
apk逆向工程工具
查看>>
Linux阵列 RAID详解
查看>>