在 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 监听器)
设置检测水平滚动和双指滚动的监听器。