手势检测器

在 API 级别 XE12 中引入

一种经过优化的手势检测器,用于识别触控板的触摸手势。

有离散的手势监听器(例如,GestureDetector.BaseListenerGestureDetector.FingerListener)和连续手势监听器(例如,GestureDetector.ScrollListenerGestureDetector.OneFingerScrollListenerGestureDetector.TwoFingerScrollListener)。

如需了解详情,请参阅触摸手势开发者指南。

常规用法

  1. 实现任何所需的监听器接口,并在 GestureDetector 上设置这些接口。
  2. 替换 onGenericMotionEvent(MotionEvent)dispatchGenericFocusedEvent(MotionEvent) 等输入事件回调,并将 MotionEvent 传递给手势检测器的 onMotionEvent(MotionEvent) 方法以处理事件。
  3. 在手势检测器监听器中适当处理事件。

    注意:在为监听器实现 onXXX 方法时,仅在不想将 MotionEvent 分派给输入调度流水线中的任何其他监听实体时,才应将返回值设置为 true

嵌套类
接口 GestureDetector.BaseListener 接收检测结果。
接口 GestureDetector.FingerListener 此监听器会在触控板上检测到的手指数量发生变化时进行报告。
接口 GestureDetector.OneFingerScrollListener 此监听器会收到单指水平滚动的连续事件。
接口 GestureDetector.ScrollListener 此监听器会收到与手指计数无关的连续水平滚动事件。
接口 GestureDetector.TwoFingerScrollListener 此监听器会收到双指连续水平滚动事件。
公共构造函数
公共方法
static 布尔值
isForward(手势
static 布尔值
isForward(浮点数 deltaX)
布尔值
GestureDetector
setAlwaysConsumeEvents(已启用布尔值)
GestureDetector
GestureDetector
GestureDetector
GestureDetector
GestureDetector
继承的方法

公共构造函数

在 API 级别 XE12 中引入

public GestureDetector (Context context)

公共方法

在 API 级别 XE16 中引入

public static 布尔值 isForward 手势手势)

如果给定手势对应于触控板上的向前动作,则返回 true

此方法仅适用于横向滑动,如果对其他手势调用,则会抛出异常。

在 API 级别 XE16 中引入

public static 布尔值 isForward (浮点数增量)

如果给定的位移对应于触控板上的向前动作,则返回 true

在 API 级别 XE12 中引入

public 布尔值 onMotionEvent MotionEvent 事件)

处理一个动作事件,如果应始终使用事件或检测到手势,则返回 true

返回
  • 反映是否使用了触摸事件
在 API 级别 XE12 中引入

public GestureDetector setAlwaysConsumeEvents (boolean enabled)

设置手势检测器是否应使用传递给 onMotionEvent(MotionEvent) 的事件,而无论这些事件实际是否得到了处理。

在 API 级别 XE12 中引入

public GestureDetector setBaseListener GestureDetector.BaseListener 监听器)

设置基本手势监听器。

在 API 级别 XE12 中引入

public GestureDetector setFingerListener GestureDetector.FingerListener 监听器)

设置手指监听器。

在 API 级别 XE21 中添加

public GestureDetector setOneFingerScrollListener GestureDetector.OneFingerScrollListener 监听器)

设置检测水平滚动和单指滚动的监听器。

在 API 级别 XE12 中引入

public GestureDetector setScrollListener GestureDetector.ScrollListener 监听器)

设置不依赖于手指计数来检测水平滚动的监听器。

在 API 级别 XE12 中引入

public GestureDetector setTwoFingerScrollListener GestureDetector.TwoFingerScrollListener 监听器)

设置检测水平滚动和双指滚动的监听器。