GestureDetector
open class GestureDetector
kotlin.Any | |
↳ | android.view.GestureDetector |
Detects various gestures and events using the supplied MotionEvent
s. The OnGestureListener
callback will notify users when a particular motion event has occurred. This class should only be used with MotionEvent
s reported via touch (don't use for trackball events). To use this class:
- Create an instance of the
GestureDetector
for yourView
- In the
View#onTouchEvent(MotionEvent)
method ensure you callonTouchEvent(android.view.MotionEvent)
. The methods defined in your callback will be executed when the events occur. - If listening for
OnContextClickListener#onContextClick(MotionEvent)
you must callonGenericMotionEvent(android.view.MotionEvent)
inView#onGenericMotionEvent(MotionEvent)
.
Summary
Nested classes | |
---|---|
abstract |
The listener that is used to notify when a context click occurs. |
abstract |
The listener that is used to notify when a double-tap or a confirmed single-tap occur. |
abstract |
The listener that is used to notify when gestures occur. |
open |
A convenience class to extend when you only want to listen for a subset of all the gestures. |
Public constructors | |
---|---|
GestureDetector(listener: GestureDetector.OnGestureListener, handler: Handler?) Creates a GestureDetector with the supplied listener. |
|
GestureDetector(listener: GestureDetector.OnGestureListener) Creates a GestureDetector with the supplied listener. |
|
GestureDetector(context: Context?, listener: GestureDetector.OnGestureListener) Creates a GestureDetector with the supplied listener. |
|
GestureDetector(context: Context?, listener: GestureDetector.OnGestureListener, handler: Handler?) Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied |
|
GestureDetector(context: Context?, listener: GestureDetector.OnGestureListener, handler: Handler?, unused: Boolean) Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied |
Public methods | |
---|---|
open Boolean | |
open Boolean |
Analyzes the given generic motion event and if applicable triggers the appropriate callbacks on the |
open Boolean |
onTouchEvent(ev: MotionEvent) Analyzes the given motion event and if applicable triggers the appropriate callbacks on the |
open Unit |
setContextClickListener(onContextClickListener: GestureDetector.OnContextClickListener?) Sets the listener which will be called for context clicks. |
open Unit |
setIsLongpressEnabled(isLongpressEnabled: Boolean) Set whether longpress is enabled, if this is enabled when a user presses and holds down you get a longpress event and nothing further. |
open Unit |
setOnDoubleTapListener(onDoubleTapListener: GestureDetector.OnDoubleTapListener?) Sets the listener which will be called for double-tap and related gestures. |
Public constructors
GestureDetector
GestureDetector(
listener: GestureDetector.OnGestureListener,
handler: Handler?)
Deprecated: 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 This value may be null . |
Exceptions | |
---|---|
java.lang.NullPointerException |
if listener is null. |
GestureDetector
GestureDetector(listener: GestureDetector.OnGestureListener)
Deprecated: 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. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if listener is null. |
See Also
GestureDetector
GestureDetector(
context: Context?,
listener: GestureDetector.OnGestureListener)
Creates a GestureDetector with the supplied listener. You may only use this constructor from a Looper
thread.
Parameters | |
---|---|
context |
Context?: An Activity or a Context created from Context#createWindowContext(int, Bundle) This value may be null . |
listener |
GestureDetector.OnGestureListener: the listener invoked for all the callbacks, this must not be null. If the listener implements the OnDoubleTapListener or OnContextClickListener then it will also be set as the listener for these callbacks (for example when using the SimpleOnGestureListener ). |
Exceptions | |
---|---|
java.lang.NullPointerException |
if listener is null. |
See Also
GestureDetector
GestureDetector(
context: Context?,
listener: GestureDetector.OnGestureListener,
handler: Handler?)
Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied Handler
.
Parameters | |
---|---|
context |
Context?: An Activity or a Context created from Context#createWindowContext(int, Bundle) This value may be null . |
listener |
GestureDetector.OnGestureListener: the listener invoked for all the callbacks, this must not be null. If the listener implements the OnDoubleTapListener or OnContextClickListener then it will also be set as the listener for these callbacks (for example when using the SimpleOnGestureListener ). |
handler |
Handler?: the handler to use for running deferred listener events. This value may be null . |
Exceptions | |
---|---|
java.lang.NullPointerException |
if listener is null. |
See Also
GestureDetector
GestureDetector(
context: Context?,
listener: GestureDetector.OnGestureListener,
handler: Handler?,
unused: Boolean)
Creates a GestureDetector with the supplied listener that runs deferred events on the thread associated with the supplied Handler
.
Parameters | |
---|---|
context |
Context?: An Activity or a Context created from Context#createWindowContext(int, Bundle) This value may be null . |
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. This value may be null . |
unused |
Boolean: currently not used. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if listener is null. |
See Also
Public methods
isLongpressEnabled
open fun isLongpressEnabled(): Boolean
Return | |
---|---|
Boolean |
true if longpress is enabled, else false. |
onGenericMotionEvent
open fun onGenericMotionEvent(ev: MotionEvent): Boolean
Analyzes the given generic motion event and if applicable triggers the appropriate callbacks on the OnGestureListener
supplied.
Parameters | |
---|---|
ev |
MotionEvent: The current motion event. This value cannot be null . |
Return | |
---|---|
Boolean |
true if the OnGestureListener consumed the event, else false. |
onTouchEvent
open fun onTouchEvent(ev: MotionEvent): Boolean
Analyzes the given motion event and if applicable triggers the appropriate callbacks on the OnGestureListener
supplied.
Parameters | |
---|---|
ev |
MotionEvent: The current motion event. This value cannot be null . |
Return | |
---|---|
Boolean |
true if the OnGestureListener consumed the event, else false. |
setContextClickListener
open fun setContextClickListener(onContextClickListener: GestureDetector.OnContextClickListener?): Unit
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
open fun setIsLongpressEnabled(isLongpressEnabled: Boolean): Unit
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
open fun setOnDoubleTapListener(onDoubleTapListener: GestureDetector.OnDoubleTapListener?): Unit
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. |