在 API 级别 XE12 中引入
一种经过优化的手势检测器,用于识别触控板的触摸手势。
有离散的手势监听器(例如,GestureDetector.BaseListener、GestureDetector.FingerListener)和连续手势监听器(例如,GestureDetector.ScrollListener、GestureDetector.OneFingerScrollListener 和 GestureDetector.TwoFingerScrollListener)。
如需了解详情,请参阅触摸手势开发者指南。
常规用法
- 实现任何所需的监听器接口,并在
GestureDetector上设置这些接口。 - 替换
onGenericMotionEvent(MotionEvent)或dispatchGenericFocusedEvent(MotionEvent)等输入事件回调,并将MotionEvent传递给手势检测器的onMotionEvent(MotionEvent)方法以处理事件。 - 在手势检测器监听器中适当处理事件。
注意:在为监听器实现
onXXX方法时,仅在不想将MotionEvent分派给输入调度流水线中的任何其他监听实体时,才应将返回值设置为true。
| 嵌套类 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 接口 | GestureDetector.BaseListener | 接收检测结果。 | |||||||||
| 接口 | GestureDetector.FingerListener | 此监听器会在触控板上检测到的手指数量发生变化时进行报告。 | |||||||||
| 接口 | GestureDetector.OneFingerScrollListener | 此监听器会收到单指水平滚动的连续事件。 | |||||||||
| 接口 | GestureDetector.ScrollListener | 此监听器会收到与手指计数无关的连续水平滚动事件。 | |||||||||
| 接口 | GestureDetector.TwoFingerScrollListener | 此监听器会收到双指连续水平滚动事件。 | |||||||||
| 公共构造函数 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
GestureDetector(Context 上下文)
|
|||||||||||
| 公共方法 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| static 布尔值 |
isForward(手势)
|
||||||||||
| static 布尔值 |
isForward(浮点数 deltaX)
|
||||||||||
| 布尔值 | |||||||||||
| GestureDetector |
setAlwaysConsumeEvents(已启用布尔值)
|
||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| GestureDetector | |||||||||||
| 继承的方法 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
公共构造函数
公共方法
在 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 监听器)
设置检测水平滚动和双指滚动的监听器。