Most visited

Recently visited

Added in API level 1

GestureDetector

public class GestureDetector
extends Object

java.lang.Object
   ↳ android.view.GestureDetector


Detects various gestures and events using the supplied MotionEvents. The GestureDetector.OnGestureListener callback will notify users when a particular motion event has occurred. This class should only be used with MotionEvents reported via touch (don't use for trackball events). To use this class:

Summary

Nested classes

interface GestureDetector.OnContextClickListener

The listener that is used to notify when a context click occurs. 

interface GestureDetector.OnDoubleTapListener

The listener that is used to notify when a double-tap or a confirmed single-tap occur. 

interface GestureDetector.OnGestureListener

The listener that is used to notify when gestures occur. 

class GestureDetector.SimpleOnGestureListener

A convenience class to extend when you only want to listen for a subset of all the gestures. 

Public constructors

GestureDetector(GestureDetector.OnGestureListener listener, Handler handler)

This constructor was deprecated in API level 3. Use GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler) instead.

GestureDetector(GestureDetector.OnGestureListener listener)

This constructor was deprecated in API level 3. Use GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener) instead.

GestureDetector(Context context, GestureDetector.OnGestureListener listener)

Creates a GestureDetector with the supplied listener.

GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler)

Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied Handler.

GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler, boolean unused)

Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied Handler.

Public methods

boolean isLongpressEnabled()
boolean onGenericMotionEvent(MotionEvent ev)

Analyzes the given generic motion event and if applicable triggers the appropriate callbacks on the GestureDetector.OnGestureListener supplied.

boolean onTouchEvent(MotionEvent ev)

Analyzes the given motion event and if applicable triggers the appropriate callbacks on the GestureDetector.OnGestureListener supplied.

void setContextClickListener(GestureDetector.OnContextClickListener onContextClickListener)

Sets the listener which will be called for context clicks.

void setIsLongpressEnabled(boolean isLongpressEnabled)

Set whether longpress is enabled, if this is enabled when a user presses and holds down you get a longpress event and nothing further.

void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener onDoubleTapListener)

Sets the listener which will be called for double-tap and related gestures.

Inherited methods

From class java.lang.Object

Public constructors

GestureDetector

Added in API level 1
GestureDetector (GestureDetector.OnGestureListener listener, 
                Handler handler)

This constructor was deprecated in API level 3.
Use GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler) instead.

Creates a GestureDetector with the supplied listener. This variant of the constructor should be used from a non-UI thread (as it allows specifying the 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

Added in API level 1
GestureDetector (GestureDetector.OnGestureListener listener)

This constructor was deprecated in API level 3.
Use GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener) instead.

Creates a GestureDetector with the supplied listener. You may only use this constructor from a UI thread (this is the usual situation).

Parameters
listener GestureDetector.OnGestureListener: the listener invoked for all the callbacks, this must not be null.
Throws
NullPointerException if listener is null.

See also:

GestureDetector

Added in API level 3
GestureDetector (Context context, 
                GestureDetector.OnGestureListener listener)

Creates a GestureDetector with the supplied listener. You may only use this constructor from a Looper thread.

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.

See also:

GestureDetector

Added in API level 3
GestureDetector (Context context, 
                GestureDetector.OnGestureListener listener, 
                Handler handler)

Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied 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.

See also:

GestureDetector

Added in API level 8
GestureDetector (Context context, 
                GestureDetector.OnGestureListener listener, 
                Handler handler, 
                boolean unused)

Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied 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.

See also:

Public methods

isLongpressEnabled

Added in API level 1
boolean isLongpressEnabled ()

Returns
boolean true if longpress is enabled, else false.

onGenericMotionEvent

Added in API level 23
boolean onGenericMotionEvent (MotionEvent ev)

Analyzes the given generic motion event and if applicable triggers the appropriate callbacks on the GestureDetector.OnGestureListener supplied.

Parameters
ev MotionEvent: The current motion event.
Returns
boolean true if the GestureDetector.OnGestureListener consumed the event, else false.

onTouchEvent

Added in API level 1
boolean onTouchEvent (MotionEvent ev)

Analyzes the given motion event and if applicable triggers the appropriate callbacks on the GestureDetector.OnGestureListener supplied.

Parameters
ev MotionEvent: The current motion event.
Returns
boolean true if the GestureDetector.OnGestureListener consumed the event, else false.

setContextClickListener

Added in API level 23
void setContextClickListener (GestureDetector.OnContextClickListener onContextClickListener)

Sets the listener which will be called for context clicks.

Parameters
onContextClickListener GestureDetector.OnContextClickListener: the listener invoked for all the callbacks, or null to stop listening for context clicks.

setIsLongpressEnabled

Added in API level 1
void setIsLongpressEnabled (boolean isLongpressEnabled)

Set whether longpress is enabled, if this is enabled when a user presses and holds down you get a longpress event and nothing further. If it's disabled the user can press and hold down and then later moved their finger and you will get scroll events. By default longpress is enabled.

Parameters
isLongpressEnabled boolean: whether longpress should be enabled.

setOnDoubleTapListener

Added in API level 3
void setOnDoubleTapListener (GestureDetector.OnDoubleTapListener onDoubleTapListener)

Sets the listener which will be called for double-tap and related gestures.

Parameters
onDoubleTapListener GestureDetector.OnDoubleTapListener: the listener invoked for all the callbacks, or null to stop listening for double-tap gestures.

Hooray!