public class GestureDetector
extends Object
java.lang.Object | |
↳ | android.view.GestureDetector |
使用提供的MotionEvent
检测各种手势和事件。 GestureDetector.OnGestureListener
回调将在发生特定运动事件时通知用户。 此类只能与通过触摸报告的MotionEvent
一起使用(不要用于轨迹球事件)。 要使用这个类:
GestureDetector
for your View
onTouchEvent(MotionEvent)
method ensure you call onTouchEvent(MotionEvent)
. The methods defined in your callback will be executed when the events occur. onContextClick(MotionEvent)
you must call onGenericMotionEvent(MotionEvent)
in onGenericMotionEvent(MotionEvent)
. Nested classes |
|
---|---|
interface |
GestureDetector.OnContextClickListener 发生上下文点击时用于通知的侦听器。 |
interface |
GestureDetector.OnDoubleTapListener 用于在发生双击或确认单击时发出通知的收听者。 |
interface |
GestureDetector.OnGestureListener 用于手势发生时通知的侦听器。 |
class |
GestureDetector.SimpleOnGestureListener 一个便利的课程,当你只想听所有手势的一个子集时可以扩展。 |
Public constructors |
|
---|---|
GestureDetector(GestureDetector.OnGestureListener listener, Handler handler) 此构造函数在API级别3中已弃用。请改为使用 |
|
GestureDetector(GestureDetector.OnGestureListener listener) 此构造函数在API级别3中已弃用。请改为使用 |
|
GestureDetector(Context context, GestureDetector.OnGestureListener listener) 使用提供的侦听器创建一个GestureDetector。 |
|
GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler) 使用所提供的侦听器创建一个GestureDetector,该侦听器在与提供的 |
|
GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler, boolean unused) 使用提供的侦听器创建一个GestureDetector,该侦听器在与提供的 |
Public methods |
|
---|---|
boolean |
isLongpressEnabled() |
boolean |
onGenericMotionEvent(MotionEvent ev) 分析给定的通用动作事件,并在适用的情况下触发所提供的 |
boolean |
onTouchEvent(MotionEvent ev) 分析给定的动作事件,并在适用的情况下触发所提供的 |
void |
setContextClickListener(GestureDetector.OnContextClickListener onContextClickListener) 设置将被调用以进行上下文点击的侦听器。 |
void |
setIsLongpressEnabled(boolean isLongpressEnabled) 设置是否启用longpress,如果在用户按下并按住时启用了此功能,则不会再发生任何进一步的事件。 |
void |
setOnDoubleTapListener(GestureDetector.OnDoubleTapListener onDoubleTapListener) 设置将被调用以进行双击和相关手势的侦听器。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
GestureDetector (GestureDetector.OnGestureListener listener, Handler handler)
此构造函数在API级别3中已弃用。
改为使用GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler)
。
使用提供的侦听器创建一个GestureDetector。 构造函数的这种变体应该从非UI线程中使用(因为它允许指定Handler)。
Parameters | |
---|---|
listener |
GestureDetector.OnGestureListener : the listener invoked for all the callbacks, this must not be null. |
handler |
Handler : the handler to use |
Throws | |
---|---|
NullPointerException |
if either listener or handler is null. |
GestureDetector (GestureDetector.OnGestureListener listener)
此构造函数在API级别3中已弃用。
改为使用GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener)
。
使用提供的侦听器创建一个GestureDetector。 你只能从UI线程中使用这个构造函数(这是通常的情况)。
Parameters | |
---|---|
listener |
GestureDetector.OnGestureListener : the listener invoked for all the callbacks, this must not be null. |
Throws | |
---|---|
NullPointerException |
if listener is null. |
也可以看看:
GestureDetector (Context context, GestureDetector.OnGestureListener listener)
使用提供的侦听器创建一个GestureDetector。 您只能从Looper
线程使用此构造函数。
Parameters | |
---|---|
context |
Context : the application's context |
listener |
GestureDetector.OnGestureListener : the listener invoked for all the callbacks, this must not be null. |
Throws | |
---|---|
NullPointerException |
if listener is null. |
也可以看看:
GestureDetector (Context context, GestureDetector.OnGestureListener listener, Handler handler)
使用提供的侦听器创建一个GestureDetector,该侦听器在与提供的 Handler
关联的线程上运行延迟事件。
Parameters | |
---|---|
context |
Context : the application's context |
listener |
GestureDetector.OnGestureListener : the listener invoked for all the callbacks, this must not be null. |
handler |
Handler : the handler to use for running deferred listener events. |
Throws | |
---|---|
NullPointerException |
if listener is null. |
也可以看看:
GestureDetector (Context context, GestureDetector.OnGestureListener listener, Handler handler, boolean unused)
使用提供的侦听器创建一个GestureDetector,该侦听器在与提供的 Handler
关联的线程上运行延迟事件。
Parameters | |
---|---|
context |
Context : the application's context |
listener |
GestureDetector.OnGestureListener : the listener invoked for all the callbacks, this must not be null. |
handler |
Handler : the handler to use for running deferred listener events. |
unused |
boolean : currently not used. |
Throws | |
---|---|
NullPointerException |
if listener is null. |
也可以看看:
boolean isLongpressEnabled ()
Returns | |
---|---|
boolean |
true if longpress is enabled, else false. |
boolean onGenericMotionEvent (MotionEvent ev)
分析给定的通用动作事件,并在适用的情况下触发所提供的 GestureDetector.OnGestureListener
上的适当回调。
Parameters | |
---|---|
ev |
MotionEvent : The current motion event. |
Returns | |
---|---|
boolean |
true if the GestureDetector.OnGestureListener consumed the event, else false. |
boolean onTouchEvent (MotionEvent ev)
分析给定的动作事件,并在适用的情况下触发所提供的 GestureDetector.OnGestureListener
上的适当回调。
Parameters | |
---|---|
ev |
MotionEvent : The current motion event. |
Returns | |
---|---|
boolean |
true if the GestureDetector.OnGestureListener consumed the event, else false. |
void setContextClickListener (GestureDetector.OnContextClickListener onContextClickListener)
设置将被调用以进行上下文点击的侦听器。
Parameters | |
---|---|
onContextClickListener |
GestureDetector.OnContextClickListener : the listener invoked for all the callbacks, or null to stop listening for context clicks. |
void setIsLongpressEnabled (boolean isLongpressEnabled)
设置是否启用longpress,如果在用户按下并按住时启用了此功能,则不会再发生任何进一步的事件。 如果它被禁用,用户可以按住,然后再移动他们的手指,你会得到滚动事件。 默认情况下,longpress被启用。
Parameters | |
---|---|
isLongpressEnabled |
boolean : whether longpress should be enabled. |
void setOnDoubleTapListener (GestureDetector.OnDoubleTapListener onDoubleTapListener)
设置将被调用以进行双击和相关手势的侦听器。
Parameters | |
---|---|
onDoubleTapListener |
GestureDetector.OnDoubleTapListener : the listener invoked for all the callbacks, or null to stop listening for double-tap gestures. |