# Print output for @column tags ?> MotionEvent - Android SDK | Android Developers

Most visited

Recently visited

MotionEvent

public final class MotionEvent
extends InputEvent implements Parcelable

java.lang.Object
   ↳ android.view.InputEvent
     ↳ android.view.MotionEvent


Object used to report movement (mouse, pen, finger, trackball) events. Motion events may hold either absolute or relative movements and other data, depending on the type of device.

Overview

Motion events describe movements in terms of an action code and a set of axis values. The action code specifies the state change that occurred such as a pointer going down or up. The axis values describe the position and other movement properties.

For example, when the user first touches the screen, the system delivers a touch event to the appropriate View with the action code ACTION_DOWN and a set of axis values that include the X and Y coordinates of the touch and information about the pressure, size and orientation of the contact area.

Some devices can report multiple movement traces at the same time. Multi-touch screens emit one movement trace for each finger. The individual fingers or other objects that generate movement traces are referred to as pointers. Motion events contain information about all of the pointers that are currently active even if some of them have not moved since the last event was delivered.

The number of pointers only ever changes by one as individual pointers go up and down, except when the gesture is canceled.

Each pointer has a unique id that is assigned when it first goes down (indicated by ACTION_DOWN or ACTION_POINTER_DOWN). A pointer id remains valid until the pointer eventually goes up (indicated by ACTION_UP or ACTION_POINTER_UP) or when the gesture is canceled (indicated by ACTION_CANCEL).

The MotionEvent class provides many methods to query the position and other properties of pointers, such as getX(int), getY(int), getAxisValue(int), getPointerId(int), getToolType(int), and many others. Most of these methods accept the pointer index as a parameter rather than the pointer id. The pointer index of each pointer in the event ranges from 0 to one less than the value returned by getPointerCount().

The order in which individual pointers appear within a motion event is undefined. Thus the pointer index of a pointer can change from one event to the next but the pointer id of a pointer is guaranteed to remain constant as long as the pointer remains active. Use the getPointerId(int) method to obtain the pointer id of a pointer to track it across all subsequent motion events in a gesture. Then for successive motion events, use the findPointerIndex(int) method to obtain the pointer index for a given pointer id in that motion event.

Mouse and stylus buttons can be retrieved using getButtonState(). It is a good idea to check the button state while handling ACTION_DOWN as part of a touch event. The application may choose to perform some different action if the touch event starts due to a secondary button click, such as presenting a context menu.

Batching

For efficiency, motion events with ACTION_MOVE may batch together multiple movement samples within a single object. The most current pointer coordinates are available using getX(int) and getY(int). Earlier coordinates within the batch are accessed using getHistoricalX(int, int) and getHistoricalY(int, int). The coordinates are "historical" only insofar as they are older than the current coordinates in the batch; however, they are still distinct from any other coordinates reported in prior motion events. To process all coordinates in the batch in time order, first consume the historical coordinates then consume the current coordinates.

Example: Consuming all samples for all pointers in a motion event in time order.


 void printSamples(MotionEvent ev) {
     final int historySize = ev.getHistorySize();
     final int pointerCount = ev.getPointerCount();
     for (int h = 0; h < historySize; h++) {
         System.out.printf("At time %d:", ev.getHistoricalEventTime(h));
         for (int p = 0; p < pointerCount; p++) {
             System.out.printf("  pointer %d: (%f,%f)",
                 ev.getPointerId(p), ev.getHistoricalX(p, h), ev.getHistoricalY(p, h));
         }
     }
     System.out.printf("At time %d:", ev.getEventTime());
     for (int p = 0; p < pointerCount; p++) {
         System.out.printf("  pointer %d: (%f,%f)",
             ev.getPointerId(p), ev.getX(p), ev.getY(p));
     }
 }
 

Device Types

The interpretation of the contents of a MotionEvent varies significantly depending on the source class of the device.

On pointing devices with source class InputDevice#SOURCE_CLASS_POINTER such as touch screens, the pointer coordinates specify absolute positions such as view X/Y coordinates. Each complete gesture is represented by a sequence of motion events with actions that describe pointer state transitions and movements. A gesture starts with a motion event with ACTION_DOWN that provides the location of the first pointer down. As each additional pointer that goes down or up, the framework will generate a motion event with ACTION_POINTER_DOWN or ACTION_POINTER_UP accordingly. Pointer movements are described by motion events with ACTION_MOVE. Finally, a gesture end either when the final pointer goes up as represented by a motion event with ACTION_UP or when gesture is canceled with ACTION_CANCEL.

Some pointing devices such as mice may support vertical and/or horizontal scrolling. A scroll event is reported as a generic motion event with ACTION_SCROLL that includes the relative scroll offset in the AXIS_VSCROLL and AXIS_HSCROLL axes. See getAxisValue(int) for information about retrieving these additional axes.

On trackball devices with source class InputDevice#SOURCE_CLASS_TRACKBALL, the pointer coordinates specify relative movements as X/Y deltas. A trackball gesture consists of a sequence of movements described by motion events with ACTION_MOVE interspersed with occasional ACTION_DOWN or ACTION_UP motion events when the trackball button is pressed or released.

On joystick devices with source class InputDevice#SOURCE_CLASS_JOYSTICK, the pointer coordinates specify the absolute position of the joystick axes. The joystick axis values are normalized to a range of -1.0 to 1.0 where 0.0 corresponds to the center position. More information about the set of available axes and the range of motion can be obtained using InputDevice#getMotionRange. Some common joystick axes are AXIS_X, AXIS_Y, AXIS_HAT_X, AXIS_HAT_Y, AXIS_Z and AXIS_RZ.

Refer to InputDevice for more information about how different kinds of input devices and sources represent pointer coordinates.

Consistency Guarantees

Motion events are always delivered to views as a consistent stream of events. What constitutes a consistent stream varies depending on the type of device. For touch events, consistency implies that pointers go down one at a time, move around as a group and then go up one at a time or are canceled.

While the framework tries to deliver consistent streams of motion events to views, it cannot guarantee it. Some events may be dropped or modified by containing views in the application before they are delivered thereby making the stream of events inconsistent. Views should always be prepared to handle ACTION_CANCEL and should tolerate anomalous situations such as receiving a new ACTION_DOWN without first having received an ACTION_UP for the prior gesture.

Summary

Nested classes

class MotionEvent.PointerCoords

Transfer object for pointer coordinates. 

class MotionEvent.PointerProperties

Transfer object for pointer properties. 

Constants

int ACTION_BUTTON_PRESS

Constant for getActionMasked(): A button has been pressed.

int ACTION_BUTTON_RELEASE

Constant for getActionMasked(): A button has been released.

int ACTION_CANCEL

Constant for getActionMasked(): The current gesture has been aborted.

int ACTION_DOWN

Constant for getActionMasked(): A pressed gesture has started, the motion contains the initial starting location.

int ACTION_HOVER_ENTER

Constant for getActionMasked(): The pointer is not down but has entered the boundaries of a window or view.

int ACTION_HOVER_EXIT

Constant for getActionMasked(): The pointer is not down but has exited the boundaries of a window or view.

int ACTION_HOVER_MOVE

Constant for getActionMasked(): A change happened but the pointer is not down (unlike ACTION_MOVE).

int ACTION_MASK

Bit mask of the parts of the action code that are the action itself.

int ACTION_MOVE

Constant for getActionMasked(): A change has happened during a press gesture (between ACTION_DOWN and ACTION_UP).

int ACTION_OUTSIDE

Constant for getActionMasked(): A movement has happened outside of the normal bounds of the UI element.

int ACTION_POINTER_1_DOWN

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

int ACTION_POINTER_1_UP

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

int ACTION_POINTER_2_DOWN

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

int ACTION_POINTER_2_UP

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

int ACTION_POINTER_3_DOWN

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

int ACTION_POINTER_3_UP

This constant is deprecated. Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

int ACTION_POINTER_DOWN

Constant for getActionMasked(): A non-primary pointer has gone down.

int ACTION_POINTER_ID_MASK

This constant is deprecated. Renamed to ACTION_POINTER_INDEX_MASK to match the actual data contained in these bits.

int ACTION_POINTER_ID_SHIFT

This constant is deprecated. Renamed to ACTION_POINTER_INDEX_SHIFT to match the actual data contained in these bits.

int ACTION_POINTER_INDEX_MASK

Bits in the action code that represent a pointer index, used with ACTION_POINTER_DOWN and ACTION_POINTER_UP.

int ACTION_POINTER_INDEX_SHIFT

Bit shift for the action bits holding the pointer index as defined by ACTION_POINTER_INDEX_MASK.

int ACTION_POINTER_UP

Constant for getActionMasked(): A non-primary pointer has gone up.

int ACTION_SCROLL

Constant for getActionMasked(): The motion event contains relative vertical and/or horizontal scroll offsets.

int ACTION_UP

Constant for getActionMasked(): A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event.

int AXIS_BRAKE

Axis constant: Brake axis of a motion event.

int AXIS_DISTANCE

Axis constant: Distance axis of a motion event.

int AXIS_GAS

Axis constant: Gas axis of a motion event.

int AXIS_GENERIC_1

Axis constant: Generic 1 axis of a motion event.

int AXIS_GENERIC_10

Axis constant: Generic 10 axis of a motion event.

int AXIS_GENERIC_11

Axis constant: Generic 11 axis of a motion event.

int AXIS_GENERIC_12

Axis constant: Generic 12 axis of a motion event.

int AXIS_GENERIC_13

Axis constant: Generic 13 axis of a motion event.

int AXIS_GENERIC_14

Axis constant: Generic 14 axis of a motion event.

int AXIS_GENERIC_15

Axis constant: Generic 15 axis of a motion event.

int AXIS_GENERIC_16

Axis constant: Generic 16 axis of a motion event.

int AXIS_GENERIC_2

Axis constant: Generic 2 axis of a motion event.

int AXIS_GENERIC_3

Axis constant: Generic 3 axis of a motion event.

int AXIS_GENERIC_4

Axis constant: Generic 4 axis of a motion event.

int AXIS_GENERIC_5

Axis constant: Generic 5 axis of a motion event.

int AXIS_GENERIC_6

Axis constant: Generic 6 axis of a motion event.

int AXIS_GENERIC_7

Axis constant: Generic 7 axis of a motion event.

int AXIS_GENERIC_8

Axis constant: Generic 8 axis of a motion event.

int AXIS_GENERIC_9

Axis constant: Generic 9 axis of a motion event.

int AXIS_HAT_X

Axis constant: Hat X axis of a motion event.

int AXIS_HAT_Y

Axis constant: Hat Y axis of a motion event.

int AXIS_HSCROLL

Axis constant: Horizontal Scroll axis of a motion event.

int AXIS_LTRIGGER

Axis constant: Left Trigger axis of a motion event.

int AXIS_ORIENTATION

Axis constant: Orientation axis of a motion event.

int AXIS_PRESSURE

Axis constant: Pressure axis of a motion event.

int AXIS_RELATIVE_X

Axis constant: The movement of x position of a motion event.

int AXIS_RELATIVE_Y

Axis constant: The movement of y position of a motion event.

int AXIS_RTRIGGER

Axis constant: Right Trigger axis of a motion event.

int AXIS_RUDDER

Axis constant: Rudder axis of a motion event.

int AXIS_RX

Axis constant: X Rotation axis of a motion event.

int AXIS_RY

Axis constant: Y Rotation axis of a motion event.

int AXIS_RZ

Axis constant: Z Rotation axis of a motion event.

int AXIS_SCROLL

Axis constant: Generic scroll axis of a motion event.

int AXIS_SIZE

Axis constant: Size axis of a motion event.

int AXIS_THROTTLE

Axis constant: Throttle axis of a motion event.

int AXIS_TILT

Axis constant: Tilt axis of a motion event.

int AXIS_TOOL_MAJOR

Axis constant: ToolMajor axis of a motion event.

int AXIS_TOOL_MINOR

Axis constant: ToolMinor axis of a motion event.

int AXIS_TOUCH_MAJOR

Axis constant: TouchMajor axis of a motion event.

int AXIS_TOUCH_MINOR

Axis constant: TouchMinor axis of a motion event.

int AXIS_VSCROLL

Axis constant: Vertical Scroll axis of a motion event.

int AXIS_WHEEL

Axis constant: Wheel axis of a motion event.

int AXIS_X

Axis constant: X axis of a motion event.

int AXIS_Y

Axis constant: Y axis of a motion event.

int AXIS_Z

Axis constant: Z axis of a motion event.

int BUTTON_BACK

Button constant: Back button pressed (mouse back button).

int BUTTON_FORWARD

Button constant: Forward button pressed (mouse forward button).

int BUTTON_PRIMARY

Button constant: Primary button (left mouse button).

int BUTTON_SECONDARY

Button constant: Secondary button (right mouse button).

int BUTTON_STYLUS_PRIMARY

Button constant: Primary stylus button pressed.

int BUTTON_STYLUS_SECONDARY

Button constant: Secondary stylus button pressed.

int BUTTON_TERTIARY

Button constant: Tertiary button (middle mouse button).

int CLASSIFICATION_AMBIGUOUS_GESTURE

Classification constant: Ambiguous gesture.

int CLASSIFICATION_DEEP_PRESS

Classification constant: Deep press.

int CLASSIFICATION_NONE

Classification constant: None.

int EDGE_BOTTOM

Flag indicating the motion event intersected the bottom edge of the screen.

int EDGE_LEFT

Flag indicating the motion event intersected the left edge of the screen.

int EDGE_RIGHT

Flag indicating the motion event intersected the right edge of the screen.

int EDGE_TOP

Flag indicating the motion event intersected the top edge of the screen.

int FLAG_WINDOW_IS_OBSCURED

This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it.

int FLAG_WINDOW_IS_PARTIALLY_OBSCURED

This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it.

int INVALID_POINTER_ID

An invalid pointer id.

int TOOL_TYPE_ERASER

Tool type constant: The tool is an eraser or a stylus being used in an inverted posture.

int TOOL_TYPE_FINGER

Tool type constant: The tool is a finger.

int TOOL_TYPE_MOUSE

Tool type constant: The tool is a mouse.

int TOOL_TYPE_STYLUS

Tool type constant: The tool is a stylus.

int TOOL_TYPE_UNKNOWN

Tool type constant: Unknown tool type.

Inherited constants

Fields

public static final Creator<MotionEvent> CREATOR

Inherited fields

Public methods

static String actionToString(int action)

Returns a string that represents the symbolic name of the specified unmasked action such as "ACTION_DOWN", "ACTION_POINTER_DOWN(3)" or an equivalent numeric constant such as "35" if unknown.

void addBatch(long eventTime, PointerCoords[] pointerCoords, int metaState)

Add a new movement to the batch of movements in this event.

void addBatch(long eventTime, float x, float y, float pressure, float size, int metaState)

Add a new movement to the batch of movements in this event.

static int axisFromString(String symbolicName)

Gets an axis by its symbolic name such as "AXIS_X" or an equivalent numeric constant such as "42".

static String axisToString(int axis)

Returns a string that represents the symbolic name of the specified axis such as "AXIS_X" or an equivalent numeric constant such as "42" if unknown.

int findPointerIndex(int pointerId)

Given a pointer identifier, find the index of its data in the event.

int getAction()

Return the kind of action being performed.

int getActionButton()

Gets which button has been modified during a press or release action.

int getActionIndex()

For ACTION_POINTER_DOWN or ACTION_POINTER_UP as returned by getActionMasked(), this returns the associated pointer index.

int getActionMasked()

Return the masked action being performed, without pointer index information.

float getAxisValue(int axis, int pointerIndex)

Returns the value of the requested axis for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getAxisValue(int axis)

getAxisValue(int) for the first pointer index (may be an arbitrary pointer identifier).

int getButtonState()

Gets the state of all buttons that are pressed such as a mouse or stylus button.

int getClassification()

Returns the classification for the current gesture.

int getDeviceId()

Gets the id for the device that this event came from.

long getDownTime()

Returns the time (in ms) when the user originally pressed down to start a stream of position events.

int getEdgeFlags()

Returns a bitfield indicating which edges, if any, were touched by this MotionEvent.

long getEventTime()

Retrieve the time this event occurred, in the SystemClock.uptimeMillis() time base.

int getFlags()

Gets the motion event flags.

float getHistoricalAxisValue(int axis, int pointerIndex, int pos)

Returns the historical value of the requested axis, as per getAxisValue(int, int), occurred between this event and the previous event for the given pointer.

float getHistoricalAxisValue(int axis, int pos)

getHistoricalAxisValue(int, int, int) for the first pointer index (may be an arbitrary pointer identifier).

long getHistoricalEventTime(int pos)

Returns the time that a historical movement occurred between this event and the previous event, in the SystemClock.uptimeMillis() time base.

float getHistoricalOrientation(int pointerIndex, int pos)

Returns a historical orientation coordinate, as per getOrientation(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalOrientation(int pos)

getHistoricalOrientation(int, int) for the first pointer index (may be an arbitrary pointer identifier).

void getHistoricalPointerCoords(int pointerIndex, int pos, MotionEvent.PointerCoords outPointerCoords)

Populates a PointerCoords object with historical pointer coordinate data, as per getPointerCoords(int, MotionEvent.PointerCoords), that occurred between this event and the previous event for the given pointer.

float getHistoricalPressure(int pointerIndex, int pos)

Returns a historical pressure coordinate, as per getPressure(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalPressure(int pos)

getHistoricalPressure(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalSize(int pos)

getHistoricalSize(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalSize(int pointerIndex, int pos)

Returns a historical size coordinate, as per getSize(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalToolMajor(int pos)

getHistoricalToolMajor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalToolMajor(int pointerIndex, int pos)

Returns a historical tool major axis coordinate, as per getToolMajor(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalToolMinor(int pos)

getHistoricalToolMinor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalToolMinor(int pointerIndex, int pos)

Returns a historical tool minor axis coordinate, as per getToolMinor(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalTouchMajor(int pos)

getHistoricalTouchMajor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalTouchMajor(int pointerIndex, int pos)

Returns a historical touch major axis coordinate, as per getTouchMajor(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalTouchMinor(int pointerIndex, int pos)

Returns a historical touch minor axis coordinate, as per getTouchMinor(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalTouchMinor(int pos)

getHistoricalTouchMinor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalX(int pos)

getHistoricalX(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalX(int pointerIndex, int pos)

Returns a historical X coordinate, as per getX(int), that occurred between this event and the previous event for the given pointer.

float getHistoricalY(int pos)

getHistoricalY(int, int) for the first pointer index (may be an arbitrary pointer identifier).

float getHistoricalY(int pointerIndex, int pos)

Returns a historical Y coordinate, as per getY(int), that occurred between this event and the previous event for the given pointer.

int getHistorySize()

Returns the number of historical points in this event.

int getMetaState()

Returns the state of any meta / modifier keys that were in effect when the event was generated.

float getOrientation()

getOrientation(int) for the first pointer index (may be an arbitrary pointer identifier).

float getOrientation(int pointerIndex)

Returns the orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

void getPointerCoords(int pointerIndex, MotionEvent.PointerCoords outPointerCoords)

Populates a PointerCoords object with pointer coordinate data for the specified pointer index.

int getPointerCount()

The number of pointers of data contained in this event.

int getPointerId(int pointerIndex)

Return the pointer identifier associated with a particular pointer data index in this event.

void getPointerProperties(int pointerIndex, MotionEvent.PointerProperties outPointerProperties)

Populates a PointerProperties object with pointer properties for the specified pointer index.

float getPressure(int pointerIndex)

Returns the current pressure of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getPressure()

getPressure(int) for the first pointer index (may be an arbitrary pointer identifier).

float getRawX()

Returns the original raw X coordinate of this event.

float getRawX(int pointerIndex)

Returns the original raw X coordinate of this event.

float getRawY()

Returns the original raw Y coordinate of this event.

float getRawY(int pointerIndex)

Returns the original raw Y coordinate of this event.

float getSize(int pointerIndex)

Returns a scaled value of the approximate size for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getSize()

getSize(int) for the first pointer index (may be an arbitrary pointer identifier).

int getSource()

Gets the source of the event.

float getToolMajor(int pointerIndex)

Returns the length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getToolMajor()

getToolMajor(int) for the first pointer index (may be an arbitrary pointer identifier).

float getToolMinor()

getToolMinor(int) for the first pointer index (may be an arbitrary pointer identifier).

float getToolMinor(int pointerIndex)

Returns the length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

int getToolType(int pointerIndex)

Gets the tool type of a pointer for the given pointer index.

float getTouchMajor()

getTouchMajor(int) for the first pointer index (may be an arbitrary pointer identifier).

float getTouchMajor(int pointerIndex)

Returns the length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getTouchMinor(int pointerIndex)

Returns the length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getTouchMinor()

getTouchMinor(int) for the first pointer index (may be an arbitrary pointer identifier).

float getX(int pointerIndex)

Returns the X coordinate of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getX()

getX(int) for the first pointer index (may be an arbitrary pointer identifier).

float getXPrecision()

Return the precision of the X coordinates being reported.

float getY()

getY(int) for the first pointer index (may be an arbitrary pointer identifier).

float getY(int pointerIndex)

Returns the Y coordinate of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

float getYPrecision()

Return the precision of the Y coordinates being reported.

boolean isButtonPressed(int button)

Checks if a mouse or stylus button (or combination of buttons) is pressed.

static MotionEvent obtain(long downTime, long eventTime, int action, float x, float y, int metaState)

Create a new MotionEvent, filling in a subset of the basic motion values.

static MotionEvent obtain(long downTime, long eventTime, int action, int pointerCount, float x, float y, float pressure, float size, int metaState, float xPrecision, float yPrecision, int deviceId, int edgeFlags)

This method is deprecated. Use obtain(long, long, int, float, float, float, float, int, float, float, int, int) instead.

static MotionEvent obtain(long downTime, long eventTime, int action, int pointerCount, int[] pointerIds, PointerCoords[] pointerCoords, int metaState, float xPrecision, float yPrecision, int deviceId, int edgeFlags, int source, int flags)

This method is deprecated. Use obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int) instead.

static MotionEvent obtain(long downTime, long eventTime, int action, int pointerCount, PointerProperties[] pointerProperties, PointerCoords[] pointerCoords, int metaState, int buttonState, float xPrecision, float yPrecision, int deviceId, int edgeFlags, int source, int flags)

Create a new MotionEvent, filling in all of the basic values that define the motion.

static MotionEvent obtain(MotionEvent other)

Create a new MotionEvent, copying from an existing one.

static MotionEvent obtain(long downTime, long eventTime, int action, float x, float y, float pressure, float size, int metaState, float xPrecision, float yPrecision, int deviceId, int edgeFlags)

Create a new MotionEvent, filling in all of the basic values that define the motion.

static MotionEvent obtainNoHistory(MotionEvent other)

Create a new MotionEvent, copying from an existing one, but not including any historical point information.

void offsetLocation(float deltaX, float deltaY)

Adjust this event's location.

void recycle()

Recycle the MotionEvent, to be re-used by a later caller.

void setAction(int action)

Sets this event's action.

void setEdgeFlags(int flags)

Sets the bitfield indicating which edges, if any, were touched by this MotionEvent.

void setLocation(float x, float y)

Set this event's location.

void setSource(int source)

String toString()

Returns a string representation of the object.

void transform(Matrix matrix)

Applies a transformation matrix to all of the points in the event.

void writeToParcel(Parcel out, int flags)

Flatten this object in to a Parcel.

Protected methods

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

Inherited methods

Constants

ACTION_BUTTON_PRESS

public static final int ACTION_BUTTON_PRESS

Constant for getActionMasked(): A button has been pressed.

Use getActionButton() to get which button was pressed.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 11 (0x0000000b)

ACTION_BUTTON_RELEASE

public static final int ACTION_BUTTON_RELEASE

Constant for getActionMasked(): A button has been released.

Use getActionButton() to get which button was released.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 12 (0x0000000c)

ACTION_CANCEL

public static final int ACTION_CANCEL

Constant for getActionMasked(): The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would.

Constant Value: 3 (0x00000003)

ACTION_DOWN

public static final int ACTION_DOWN

Constant for getActionMasked(): A pressed gesture has started, the motion contains the initial starting location.

This is also a good time to check the button state to distinguish secondary and tertiary button clicks and handle them appropriately. Use getButtonState() to retrieve the button state.

Constant Value: 0 (0x00000000)

ACTION_HOVER_ENTER

public static final int ACTION_HOVER_ENTER

Constant for getActionMasked(): The pointer is not down but has entered the boundaries of a window or view.

This action is always delivered to the window or view under the pointer.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 9 (0x00000009)

ACTION_HOVER_EXIT

public static final int ACTION_HOVER_EXIT

Constant for getActionMasked(): The pointer is not down but has exited the boundaries of a window or view.

This action is always delivered to the window or view that was previously under the pointer.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 10 (0x0000000a)

ACTION_HOVER_MOVE

public static final int ACTION_HOVER_MOVE

Constant for getActionMasked(): A change happened but the pointer is not down (unlike ACTION_MOVE). The motion contains the most recent point, as well as any intermediate points since the last hover move event.

This action is always delivered to the window or view under the pointer.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 7 (0x00000007)

ACTION_MASK

public static final int ACTION_MASK

Bit mask of the parts of the action code that are the action itself.

Constant Value: 255 (0x000000ff)

ACTION_MOVE

public static final int ACTION_MOVE

Constant for getActionMasked(): A change has happened during a press gesture (between ACTION_DOWN and ACTION_UP). The motion contains the most recent point, as well as any intermediate points since the last down or move event.

Constant Value: 2 (0x00000002)

ACTION_OUTSIDE

public static final int ACTION_OUTSIDE

Constant for getActionMasked(): A movement has happened outside of the normal bounds of the UI element. This does not provide a full gesture, but only the initial location of the movement/touch.

Note: Because the location of any event will be outside the bounds of the view hierarchy, it will not get dispatched to any children of a ViewGroup by default. Therefore, movements with ACTION_OUTSIDE should be handled in either the root View or in the appropriate Window.Callback (e.g. Activity or Dialog).

Constant Value: 4 (0x00000004)

ACTION_POINTER_1_DOWN

public static final int ACTION_POINTER_1_DOWN

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

Constant Value: 5 (0x00000005)

ACTION_POINTER_1_UP

public static final int ACTION_POINTER_1_UP

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

Constant Value: 6 (0x00000006)

ACTION_POINTER_2_DOWN

public static final int ACTION_POINTER_2_DOWN

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

Constant Value: 261 (0x00000105)

ACTION_POINTER_2_UP

public static final int ACTION_POINTER_2_UP

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

Constant Value: 262 (0x00000106)

ACTION_POINTER_3_DOWN

public static final int ACTION_POINTER_3_DOWN

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_DOWN.

Constant Value: 517 (0x00000205)

ACTION_POINTER_3_UP

public static final int ACTION_POINTER_3_UP

This constant is deprecated.
Use ACTION_POINTER_INDEX_MASK to retrieve the data index associated with ACTION_POINTER_UP.

Constant Value: 518 (0x00000206)

ACTION_POINTER_DOWN

public static final int ACTION_POINTER_DOWN

Constant for getActionMasked(): A non-primary pointer has gone down.

Use getActionIndex() to retrieve the index of the pointer that changed.

The index is encoded in the ACTION_POINTER_INDEX_MASK bits of the unmasked action returned by getAction().

Constant Value: 5 (0x00000005)

ACTION_POINTER_ID_MASK

public static final int ACTION_POINTER_ID_MASK

This constant is deprecated.
Renamed to ACTION_POINTER_INDEX_MASK to match the actual data contained in these bits.

Constant Value: 65280 (0x0000ff00)

ACTION_POINTER_ID_SHIFT

public static final int ACTION_POINTER_ID_SHIFT

This constant is deprecated.
Renamed to ACTION_POINTER_INDEX_SHIFT to match the actual data contained in these bits.

Constant Value: 8 (0x00000008)

ACTION_POINTER_INDEX_MASK

public static final int ACTION_POINTER_INDEX_MASK

Bits in the action code that represent a pointer index, used with ACTION_POINTER_DOWN and ACTION_POINTER_UP. Shifting down by ACTION_POINTER_INDEX_SHIFT provides the actual pointer index where the data for the pointer going up or down can be found; you can get its identifier with getPointerId(int) and the actual data with getX(int) etc.

See also:

Constant Value: 65280 (0x0000ff00)

ACTION_POINTER_INDEX_SHIFT

public static final int ACTION_POINTER_INDEX_SHIFT

Bit shift for the action bits holding the pointer index as defined by ACTION_POINTER_INDEX_MASK.

See also:

Constant Value: 8 (0x00000008)

ACTION_POINTER_UP

public static final int ACTION_POINTER_UP

Constant for getActionMasked(): A non-primary pointer has gone up.

Use getActionIndex() to retrieve the index of the pointer that changed.

The index is encoded in the ACTION_POINTER_INDEX_MASK bits of the unmasked action returned by getAction().

Constant Value: 6 (0x00000006)

ACTION_SCROLL

public static final int ACTION_SCROLL

Constant for getActionMasked(): The motion event contains relative vertical and/or horizontal scroll offsets. Use getAxisValue(int) to retrieve the information from AXIS_VSCROLL and AXIS_HSCROLL. The pointer may or may not be down when this event is dispatched.

This action is always delivered to the window or view under the pointer, which may not be the window or view currently touched.

This action is not a touch event so it is delivered to View#onGenericMotionEvent(MotionEvent) rather than View#onTouchEvent(MotionEvent).

Constant Value: 8 (0x00000008)

ACTION_UP

public static final int ACTION_UP

Constant for getActionMasked(): A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event.

Constant Value: 1 (0x00000001)

AXIS_BRAKE

public static final int AXIS_BRAKE

Axis constant: Brake axis of a motion event.

  • For a joystick, reports the absolute position of the brake control. The value is normalized to a range from 0.0 (no braking) to 1.0 (maximum braking).

See also:

Constant Value: 23 (0x00000017)

AXIS_DISTANCE

public static final int AXIS_DISTANCE

Axis constant: Distance axis of a motion event.

  • For a stylus, reports the distance of the stylus from the screen. A value of 0.0 indicates direct contact and larger values indicate increasing distance from the surface.

See also:

Constant Value: 24 (0x00000018)

AXIS_GAS

public static final int AXIS_GAS

Axis constant: Gas axis of a motion event.

  • For a joystick, reports the absolute position of the gas (accelerator) control. The value is normalized to a range from 0.0 (no acceleration) to 1.0 (maximum acceleration).

See also:

Constant Value: 22 (0x00000016)

AXIS_GENERIC_1

public static final int AXIS_GENERIC_1

Axis constant: Generic 1 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 32 (0x00000020)

AXIS_GENERIC_10

public static final int AXIS_GENERIC_10

Axis constant: Generic 10 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 41 (0x00000029)

AXIS_GENERIC_11

public static final int AXIS_GENERIC_11

Axis constant: Generic 11 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 42 (0x0000002a)

AXIS_GENERIC_12

public static final int AXIS_GENERIC_12

Axis constant: Generic 12 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 43 (0x0000002b)

AXIS_GENERIC_13

public static final int AXIS_GENERIC_13

Axis constant: Generic 13 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 44 (0x0000002c)

AXIS_GENERIC_14

public static final int AXIS_GENERIC_14

Axis constant: Generic 14 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 45 (0x0000002d)

AXIS_GENERIC_15

public static final int AXIS_GENERIC_15

Axis constant: Generic 15 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 46 (0x0000002e)

AXIS_GENERIC_16

public static final int AXIS_GENERIC_16

Axis constant: Generic 16 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 47 (0x0000002f)

AXIS_GENERIC_2

public static final int AXIS_GENERIC_2

Axis constant: Generic 2 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 33 (0x00000021)

AXIS_GENERIC_3

public static final int AXIS_GENERIC_3

Axis constant: Generic 3 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 34 (0x00000022)

AXIS_GENERIC_4

public static final int AXIS_GENERIC_4

Axis constant: Generic 4 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 35 (0x00000023)

AXIS_GENERIC_5

public static final int AXIS_GENERIC_5

Axis constant: Generic 5 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 36 (0x00000024)

AXIS_GENERIC_6

public static final int AXIS_GENERIC_6

Axis constant: Generic 6 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 37 (0x00000025)

AXIS_GENERIC_7

public static final int AXIS_GENERIC_7

Axis constant: Generic 7 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 38 (0x00000026)

AXIS_GENERIC_8

public static final int AXIS_GENERIC_8

Axis constant: Generic 8 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 39 (0x00000027)

AXIS_GENERIC_9

public static final int AXIS_GENERIC_9

Axis constant: Generic 9 axis of a motion event. The interpretation of a generic axis is device-specific.

See also:

Constant Value: 40 (0x00000028)

AXIS_HAT_X

public static final int AXIS_HAT_X

Axis constant: Hat X axis of a motion event.

  • For a joystick, reports the absolute X position of the directional hat control. The value is normalized to a range from -1.0 (left) to 1.0 (right).

See also:

Constant Value: 15 (0x0000000f)

AXIS_HAT_Y

public static final int AXIS_HAT_Y

Axis constant: Hat Y axis of a motion event.

  • For a joystick, reports the absolute Y position of the directional hat control. The value is normalized to a range from -1.0 (up) to 1.0 (down).

See also:

Constant Value: 16 (0x00000010)

AXIS_HSCROLL

public static final int AXIS_HSCROLL

Axis constant: Horizontal Scroll axis of a motion event.

  • For a mouse, reports the relative movement of the horizontal scroll wheel. The value is normalized to a range from -1.0 (left) to 1.0 (right).

This axis should be used to scroll views horizontally.

See also:

Constant Value: 10 (0x0000000a)

AXIS_LTRIGGER

public static final int AXIS_LTRIGGER

Axis constant: Left Trigger axis of a motion event.

  • For a joystick, reports the absolute position of the left trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed).

See also:

Constant Value: 17 (0x00000011)

AXIS_ORIENTATION

public static final int AXIS_ORIENTATION

Axis constant: Orientation axis of a motion event.

  • For a touch screen or touch pad, reports the orientation of the finger or tool in radians relative to the vertical plane of the device. An angle of 0 radians indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right).
  • For a stylus, the orientation indicates the direction in which the stylus is pointing in relation to the vertical axis of the current orientation of the screen. The range is from -PI radians to PI radians, where 0 is pointing up, -PI/2 radians is pointing left, -PI or PI radians is pointing down, and PI/2 radians is pointing right. See also AXIS_TILT.

See also:

Constant Value: 8 (0x00000008)

AXIS_PRESSURE

public static final int AXIS_PRESSURE

Axis constant: Pressure axis of a motion event.

  • For a touch screen or touch pad, reports the approximate pressure applied to the surface by a finger or other tool. The value is normalized to a range from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device.
  • For a trackball, the value is set to 1 if the trackball button is pressed or 0 otherwise.
  • For a mouse, the value is set to 1 if the primary mouse button is pressed or 0 otherwise.

See also:

Constant Value: 2 (0x00000002)

AXIS_RELATIVE_X

public static final int AXIS_RELATIVE_X

Axis constant: The movement of x position of a motion event.

  • For a mouse, reports a difference of x position between the previous position. This is useful when pointer is captured, in that case the mouse pointer doesn't change the location but this axis reports the difference which allows the app to see how the mouse is moved.

See also:

Constant Value: 27 (0x0000001b)

AXIS_RELATIVE_Y

public static final int AXIS_RELATIVE_Y

Axis constant: The movement of y position of a motion event.

This is similar to AXIS_RELATIVE_X but for y-axis.

See also:

Constant Value: 28 (0x0000001c)

AXIS_RTRIGGER

public static final int AXIS_RTRIGGER

Axis constant: Right Trigger axis of a motion event.

  • For a joystick, reports the absolute position of the right trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed).

See also:

Constant Value: 18 (0x00000012)

AXIS_RUDDER

public static final int AXIS_RUDDER

Axis constant: Rudder axis of a motion event.

  • For a joystick, reports the absolute position of the rudder control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right).

See also:

Constant Value: 20 (0x00000014)

AXIS_RX

public static final int AXIS_RX

Axis constant: X Rotation axis of a motion event.

  • For a joystick, reports the absolute rotation angle about the X axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise).

See also:

Constant Value: 12 (0x0000000c)

AXIS_RY

public static final int AXIS_RY

Axis constant: Y Rotation axis of a motion event.

  • For a joystick, reports the absolute rotation angle about the Y axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise).

See also:

Constant Value: 13 (0x0000000d)

AXIS_RZ

public static final int AXIS_RZ

Axis constant: Z Rotation axis of a motion event.

  • For a joystick, reports the absolute rotation angle about the Z axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute Y position of the second joystick instead.

See also:

Constant Value: 14 (0x0000000e)

AXIS_SCROLL

public static final int AXIS_SCROLL

Axis constant: Generic scroll axis of a motion event.

  • Reports the relative movement of the generic scrolling device.

This axis should be used for scroll events that are neither strictly vertical nor horizontal. A good example would be the rotation of a rotary encoder input device.

See also:

Constant Value: 26 (0x0000001a)

AXIS_SIZE

public static final int AXIS_SIZE

Axis constant: Size axis of a motion event.

  • For a touch screen or touch pad, reports the approximate size of the contact area in relation to the maximum detectable size for the device. The value is normalized to a range from 0 (smallest detectable size) to 1 (largest detectable size), although it is not a linear scale. This value is of limited use. To obtain calibrated size information, use AXIS_TOUCH_MAJOR or AXIS_TOOL_MAJOR.

See also:

Constant Value: 3 (0x00000003)

AXIS_THROTTLE

public static final int AXIS_THROTTLE

Axis constant: Throttle axis of a motion event.

  • For a joystick, reports the absolute position of the throttle control. The value is normalized to a range from 0.0 (fully open) to 1.0 (fully closed).

See also:

Constant Value: 19 (0x00000013)

AXIS_TILT

public static final int AXIS_TILT

Axis constant: Tilt axis of a motion event.

  • For a stylus, reports the tilt angle of the stylus in radians where 0 radians indicates that the stylus is being held perpendicular to the surface, and PI/2 radians indicates that the stylus is being held flat against the surface.

See also:

Constant Value: 25 (0x00000019)

AXIS_TOOL_MAJOR

public static final int AXIS_TOOL_MAJOR

Axis constant: ToolMajor axis of a motion event.

  • For a touch screen, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact.
  • For a touch pad, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.

When the touch is circular, the major and minor axis lengths will be equal to one another.

The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor.

See also:

Constant Value: 6 (0x00000006)

AXIS_TOOL_MINOR

public static final int AXIS_TOOL_MINOR

Axis constant: ToolMinor axis of a motion event.

  • For a touch screen, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact.
  • For a touch pad, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.

When the touch is circular, the major and minor axis lengths will be equal to one another.

The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor.

See also:

Constant Value: 7 (0x00000007)

AXIS_TOUCH_MAJOR

public static final int AXIS_TOUCH_MAJOR

Axis constant: TouchMajor axis of a motion event.

  • For a touch screen, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.
  • For a touch pad, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.

See also:

Constant Value: 4 (0x00000004)

AXIS_TOUCH_MINOR

public static final int AXIS_TOUCH_MINOR

Axis constant: TouchMinor axis of a motion event.

  • For a touch screen, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.
  • For a touch pad, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.

When the touch is circular, the major and minor axis lengths will be equal to one another.

See also:

Constant Value: 5 (0x00000005)

AXIS_VSCROLL

public static final int AXIS_VSCROLL

Axis constant: Vertical Scroll axis of a motion event.

  • For a mouse, reports the relative movement of the vertical scroll wheel. The value is normalized to a range from -1.0 (down) to 1.0 (up).

This axis should be used to scroll views vertically.

See also:

Constant Value: 9 (0x00000009)

AXIS_WHEEL

public static final int AXIS_WHEEL

Axis constant: Wheel axis of a motion event.

  • For a joystick, reports the absolute position of the steering wheel control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right).

See also:

Constant Value: 21 (0x00000015)

AXIS_X

public static final int AXIS_X

Axis constant: X axis of a motion event.

  • For a touch screen, reports the absolute X screen position of the center of the touch contact area. The units are display pixels.
  • For a touch pad, reports the absolute X surface position of the center of the touch contact area. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.
  • For a mouse, reports the absolute X screen position of the mouse pointer. The units are display pixels.
  • For a trackball, reports the relative horizontal displacement of the trackball. The value is normalized to a range from -1.0 (left) to 1.0 (right).
  • For a joystick, reports the absolute X position of the joystick. The value is normalized to a range from -1.0 (left) to 1.0 (right).

See also:

Constant Value: 0 (0x00000000)

AXIS_Y

public static final int AXIS_Y

Axis constant: Y axis of a motion event.

  • For a touch screen, reports the absolute Y screen position of the center of the touch contact area. The units are display pixels.
  • For a touch pad, reports the absolute Y surface position of the center of the touch contact area. The units are device-dependent; use InputDevice#getMotionRange(int) to query the effective range of values.
  • For a mouse, reports the absolute Y screen position of the mouse pointer. The units are display pixels.
  • For a trackball, reports the relative vertical displacement of the trackball. The value is normalized to a range from -1.0 (up) to 1.0 (down).
  • For a joystick, reports the absolute Y position of the joystick. The value is normalized to a range from -1.0 (up or far) to 1.0 (down or near).

See also:

Constant Value: 1 (0x00000001)

AXIS_Z

public static final int AXIS_Z

Axis constant: Z axis of a motion event.

  • For a joystick, reports the absolute Z position of the joystick. The value is normalized to a range from -1.0 (high) to 1.0 (low). On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute X position of the second joystick instead.

See also:

Constant Value: 11 (0x0000000b)

BUTTON_BACK

public static final int BUTTON_BACK

Button constant: Back button pressed (mouse back button).

The system may send a KeyEvent#KEYCODE_BACK key press to the application when this button is pressed.

See also:

Constant Value: 8 (0x00000008)

BUTTON_FORWARD

public static final int BUTTON_FORWARD

Button constant: Forward button pressed (mouse forward button).

The system may send a KeyEvent#KEYCODE_FORWARD key press to the application when this button is pressed.

See also:

Constant Value: 16 (0x00000010)

BUTTON_PRIMARY

public static final int BUTTON_PRIMARY

Button constant: Primary button (left mouse button). This button constant is not set in response to simple touches with a finger or stylus tip. The user must actually push a button.

See also:

Constant Value: 1 (0x00000001)

BUTTON_SECONDARY

public static final int BUTTON_SECONDARY

Button constant: Secondary button (right mouse button).

See also:

Constant Value: 2 (0x00000002)

BUTTON_STYLUS_PRIMARY

public static final int BUTTON_STYLUS_PRIMARY

Button constant: Primary stylus button pressed.

See also:

Constant Value: 32 (0x00000020)

BUTTON_STYLUS_SECONDARY

public static final int BUTTON_STYLUS_SECONDARY

Button constant: Secondary stylus button pressed.

See also:

Constant Value: 64 (0x00000040)

BUTTON_TERTIARY

public static final int BUTTON_TERTIARY

Button constant: Tertiary button (middle mouse button).

See also:

Constant Value: 4 (0x00000004)

CLASSIFICATION_AMBIGUOUS_GESTURE

public static final int CLASSIFICATION_AMBIGUOUS_GESTURE

Classification constant: Ambiguous gesture. The user's intent with respect to the current event stream is not yet determined. Gestural actions, such as scrolling, should be inhibited until the classification resolves to another value or the event stream ends.

See also:

Constant Value: 1 (0x00000001)

CLASSIFICATION_DEEP_PRESS

public static final int CLASSIFICATION_DEEP_PRESS

Classification constant: Deep press. The current event stream represents the user intentionally pressing harder on the screen. This classification type should be used to accelerate the long press behaviour.

See also:

Constant Value: 2 (0x00000002)

CLASSIFICATION_NONE

public static final int CLASSIFICATION_NONE

Classification constant: None. No additional information is available about the current motion event stream.

See also:

Constant Value: 0 (0x00000000)

EDGE_BOTTOM

public static final int EDGE_BOTTOM

Flag indicating the motion event intersected the bottom edge of the screen.

Constant Value: 2 (0x00000002)

EDGE_LEFT

public static final int EDGE_LEFT

Flag indicating the motion event intersected the left edge of the screen.

Constant Value: 4 (0x00000004)

EDGE_RIGHT

public static final int EDGE_RIGHT

Flag indicating the motion event intersected the right edge of the screen.

Constant Value: 8 (0x00000008)

EDGE_TOP

public static final int EDGE_TOP

Flag indicating the motion event intersected the top edge of the screen.

Constant Value: 1 (0x00000001)

FLAG_WINDOW_IS_OBSCURED

public static final int FLAG_WINDOW_IS_OBSCURED

This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it. This flag is set to true if the event directly passed through the obscured area. A security sensitive application can check this flag to identify situations in which a malicious application may have covered up part of its content for the purpose of misleading the user or hijacking touches. An appropriate response might be to drop the suspect touches or to take additional precautions to confirm the user's actual intent.

Constant Value: 1 (0x00000001)

FLAG_WINDOW_IS_PARTIALLY_OBSCURED

public static final int FLAG_WINDOW_IS_PARTIALLY_OBSCURED

This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it. This flag is set to true even if the event did not directly pass through the obscured area. A security sensitive application can check this flag to identify situations in which a malicious application may have covered up part of its content for the purpose of misleading the user or hijacking touches. An appropriate response might be to drop the suspect touches or to take additional precautions to confirm the user's actual intent. Unlike FLAG_WINDOW_IS_OBSCURED, this is true even if the window that received this event is obstructed in areas other than the touched location.

Constant Value: 2 (0x00000002)

INVALID_POINTER_ID

public static final int INVALID_POINTER_ID

An invalid pointer id. This value (-1) can be used as a placeholder to indicate that a pointer id has not been assigned or is not available. It cannot appear as a pointer id inside a MotionEvent.

Constant Value: -1 (0xffffffff)

TOOL_TYPE_ERASER

public static final int TOOL_TYPE_ERASER

Tool type constant: The tool is an eraser or a stylus being used in an inverted posture.

See also:

Constant Value: 4 (0x00000004)

TOOL_TYPE_FINGER

public static final int TOOL_TYPE_FINGER

Tool type constant: The tool is a finger.

See also:

Constant Value: 1 (0x00000001)

TOOL_TYPE_MOUSE

public static final int TOOL_TYPE_MOUSE

Tool type constant: The tool is a mouse.

See also:

Constant Value: 3 (0x00000003)

TOOL_TYPE_STYLUS

public static final int TOOL_TYPE_STYLUS

Tool type constant: The tool is a stylus.

See also:

Constant Value: 2 (0x00000002)

TOOL_TYPE_UNKNOWN

public static final int TOOL_TYPE_UNKNOWN

Tool type constant: Unknown tool type. This constant is used when the tool type is not known or is not relevant, such as for a trackball or other non-pointing device.

See also:

Constant Value: 0 (0x00000000)

Fields

CREATOR

public static final Creator<MotionEvent> CREATOR

Public methods

actionToString

public static String actionToString (int action)

Returns a string that represents the symbolic name of the specified unmasked action such as "ACTION_DOWN", "ACTION_POINTER_DOWN(3)" or an equivalent numeric constant such as "35" if unknown.

Parameters
action int: The unmasked action.

Returns
String The symbolic name of the specified action.

See also:

addBatch

public void addBatch (long eventTime, 
                PointerCoords[] pointerCoords, 
                int metaState)

Add a new movement to the batch of movements in this event. The event's current location, position and size is updated to the new values. The current values in the event are added to a list of historical values. Only applies to ACTION_MOVE or ACTION_HOVER_MOVE events.

Parameters
eventTime long: The time stamp (in ms) for this data.

pointerCoords PointerCoords: The new pointer coordinates.

metaState int: Meta key state.

addBatch

public void addBatch (long eventTime, 
                float x, 
                float y, 
                float pressure, 
                float size, 
                int metaState)

Add a new movement to the batch of movements in this event. The event's current location, position and size is updated to the new values. The current values in the event are added to a list of historical values. Only applies to ACTION_MOVE or ACTION_HOVER_MOVE events.

Parameters
eventTime long: The time stamp (in ms) for this data.

x float: The new X position.

y float: The new Y position.

pressure float: The new pressure.

size float: The new size.

metaState int: Meta key state.

axisFromString

public static int axisFromString (String symbolicName)

Gets an axis by its symbolic name such as "AXIS_X" or an equivalent numeric constant such as "42".

Parameters
symbolicName String: The symbolic name of the axis.

Returns
int The axis or -1 if not found.

See also:

axisToString

public static String axisToString (int axis)

Returns a string that represents the symbolic name of the specified axis such as "AXIS_X" or an equivalent numeric constant such as "42" if unknown.

Parameters
axis int: The axis.

Returns
String The symbolic name of the specified axis.

findPointerIndex

public int findPointerIndex (int pointerId)

Given a pointer identifier, find the index of its data in the event.

Parameters
pointerId int: The identifier of the pointer to be found.

Returns
int Returns either the index of the pointer (for use with getX(int) et al.), or -1 if there is no data available for that pointer identifier.

getAction

public int getAction ()

Return the kind of action being performed. Consider using getActionMasked() and getActionIndex() to retrieve the separate masked action and pointer index.

Returns
int The action, such as ACTION_DOWN or the combination of ACTION_POINTER_DOWN with a shifted pointer index.

getActionButton

public int getActionButton ()

Gets which button has been modified during a press or release action. For actions other than ACTION_BUTTON_PRESS and ACTION_BUTTON_RELEASE the returned value is undefined.

Returns
int

See also:

getActionIndex

public int getActionIndex ()

For ACTION_POINTER_DOWN or ACTION_POINTER_UP as returned by getActionMasked(), this returns the associated pointer index. The index may be used with getPointerId(int), getX(int), getY(int), getPressure(int), and getSize(int) to get information about the pointer that has gone down or up.

Returns
int The index associated with the action.

getActionMasked

public int getActionMasked ()

Return the masked action being performed, without pointer index information. Use getActionIndex() to return the index associated with pointer actions.

Returns
int The action, such as ACTION_DOWN or ACTION_POINTER_DOWN.

getAxisValue

public float getAxisValue (int axis, 
                int pointerIndex)

Returns the value of the requested axis for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

Parameters
axis int: The axis identifier for the axis value to retrieve.

pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float The value of the axis, or 0 if the axis is not available.

See also:

getAxisValue

public float getAxisValue (int axis)

getAxisValue(int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
axis int: The axis identifier for the axis value to retrieve.

Returns
float

See also:

getButtonState

public int getButtonState ()

Gets the state of all buttons that are pressed such as a mouse or stylus button.

Returns
int The button state.

See also:

getClassification

public int getClassification ()

Returns the classification for the current gesture. The classification may change as more events become available for the same gesture.

Returns
int Value is CLASSIFICATION_NONE, CLASSIFICATION_AMBIGUOUS_GESTURE, or CLASSIFICATION_DEEP_PRESS

See also:

getDeviceId

public int getDeviceId ()

Gets the id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device and maps to the default keymap. The other numbers are arbitrary and you shouldn't depend on the values.

Returns
int The device id.

getDownTime

public long getDownTime ()

Returns the time (in ms) when the user originally pressed down to start a stream of position events.

Returns
long

getEdgeFlags

public int getEdgeFlags ()

Returns a bitfield indicating which edges, if any, were touched by this MotionEvent. For touch events, clients can use this to determine if the user's finger was touching the edge of the display. This property is only set for ACTION_DOWN events.

Returns
int

See also:

getEventTime

public long getEventTime ()

Retrieve the time this event occurred, in the SystemClock.uptimeMillis() time base.

Returns
long Returns the time this event occurred, in the SystemClock.uptimeMillis() time base.

getFlags

public int getFlags ()

Gets the motion event flags.

Returns
int

See also:

getHistoricalAxisValue

public float getHistoricalAxisValue (int axis, 
                int pointerIndex, 
                int pos)

Returns the historical value of the requested axis, as per getAxisValue(int, int), occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
axis int: The axis identifier for the axis value to retrieve.

pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float The value of the axis, or 0 if the axis is not available.

See also:

getHistoricalAxisValue

public float getHistoricalAxisValue (int axis, 
                int pos)

getHistoricalAxisValue(int, int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
axis int: The axis identifier for the axis value to retrieve.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalEventTime

public long getHistoricalEventTime (int pos)

Returns the time that a historical movement occurred between this event and the previous event, in the SystemClock.uptimeMillis() time base.

This only applies to ACTION_MOVE events.

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
long Returns the time that a historical movement occurred between this event and the previous event, in the SystemClock.uptimeMillis() time base.

See also:

getHistoricalOrientation

public float getHistoricalOrientation (int pointerIndex, 
                int pos)

Returns a historical orientation coordinate, as per getOrientation(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalOrientation

public float getHistoricalOrientation (int pos)

getHistoricalOrientation(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalPointerCoords

public void getHistoricalPointerCoords (int pointerIndex, 
                int pos, 
                MotionEvent.PointerCoords outPointerCoords)

Populates a PointerCoords object with historical pointer coordinate data, as per getPointerCoords(int, MotionEvent.PointerCoords), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

outPointerCoords MotionEvent.PointerCoords: The pointer coordinate object to populate.

See also:

getHistoricalPressure

public float getHistoricalPressure (int pointerIndex, 
                int pos)

Returns a historical pressure coordinate, as per getPressure(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalPressure

public float getHistoricalPressure (int pos)

getHistoricalPressure(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalSize

public float getHistoricalSize (int pos)

getHistoricalSize(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalSize

public float getHistoricalSize (int pointerIndex, 
                int pos)

Returns a historical size coordinate, as per getSize(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalToolMajor

public float getHistoricalToolMajor (int pos)

getHistoricalToolMajor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalToolMajor

public float getHistoricalToolMajor (int pointerIndex, 
                int pos)

Returns a historical tool major axis coordinate, as per getToolMajor(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalToolMinor

public float getHistoricalToolMinor (int pos)

getHistoricalToolMinor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalToolMinor

public float getHistoricalToolMinor (int pointerIndex, 
                int pos)

Returns a historical tool minor axis coordinate, as per getToolMinor(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalTouchMajor

public float getHistoricalTouchMajor (int pos)

getHistoricalTouchMajor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalTouchMajor

public float getHistoricalTouchMajor (int pointerIndex, 
                int pos)

Returns a historical touch major axis coordinate, as per getTouchMajor(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalTouchMinor

public float getHistoricalTouchMinor (int pointerIndex, 
                int pos)

Returns a historical touch minor axis coordinate, as per getTouchMinor(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalTouchMinor

public float getHistoricalTouchMinor (int pos)

getHistoricalTouchMinor(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalX

public float getHistoricalX (int pos)

getHistoricalX(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalX

public float getHistoricalX (int pointerIndex, 
                int pos)

Returns a historical X coordinate, as per getX(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalY

public float getHistoricalY (int pos)

getHistoricalY(int, int) for the first pointer index (may be an arbitrary pointer identifier).

Parameters
pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistoricalY

public float getHistoricalY (int pointerIndex, 
                int pos)

Returns a historical Y coordinate, as per getY(int), that occurred between this event and the previous event for the given pointer. Only applies to ACTION_MOVE events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

pos int: Which historical value to return; must be less than getHistorySize()

Returns
float

See also:

getHistorySize

public int getHistorySize ()

Returns the number of historical points in this event. These are movements that have occurred between this event and the previous event. This only applies to ACTION_MOVE events -- all other actions will have a size of 0.

Returns
int Returns the number of historical points in the event.

getMetaState

public int getMetaState ()

Returns the state of any meta / modifier keys that were in effect when the event was generated. This is the same values as those returned by KeyEvent#getMetaState().

Returns
int an integer in which each bit set to 1 represents a pressed meta key

See also:

getOrientation

public float getOrientation ()

getOrientation(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getOrientation

public float getOrientation (int pointerIndex)

Returns the orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). An angle of 0 radians indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right).

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getPointerCoords

public void getPointerCoords (int pointerIndex, 
                MotionEvent.PointerCoords outPointerCoords)

Populates a PointerCoords object with pointer coordinate data for the specified pointer index.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

outPointerCoords MotionEvent.PointerCoords: The pointer coordinate object to populate.

See also:

getPointerCount

public int getPointerCount ()

The number of pointers of data contained in this event. Always >= 1.

Returns
int

getPointerId

public int getPointerId (int pointerIndex)

Return the pointer identifier associated with a particular pointer data index in this event. The identifier tells you the actual pointer number associated with the data, accounting for individual pointers going up and down since the start of the current gesture.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
int

getPointerProperties

public void getPointerProperties (int pointerIndex, 
                MotionEvent.PointerProperties outPointerProperties)

Populates a PointerProperties object with pointer properties for the specified pointer index.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

outPointerProperties MotionEvent.PointerProperties: The pointer properties object to populate.

See also:

getPressure

public float getPressure (int pointerIndex)

Returns the current pressure of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), however values higher than 1 may be generated depending on the calibration of the input device.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getPressure

public float getPressure ()

getPressure(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getRawX

public float getRawX ()

Returns the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views.

Returns
float

See also:

getRawX

public float getRawX (int pointerIndex)

Returns the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getRawY

public float getRawY ()

Returns the original raw Y coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views.

Returns
float

See also:

getRawY

public float getRawY (int pointerIndex)

Returns the original raw Y coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getSize

public float getSize (int pointerIndex)

Returns a scaled value of the approximate size for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getSize

public float getSize ()

getSize(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getSource

public int getSource ()

Gets the source of the event.

Returns
int The event source or InputDevice#SOURCE_UNKNOWN if unknown.

getToolMajor

public float getToolMajor (int pointerIndex)

Returns the length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getToolMajor

public float getToolMajor ()

getToolMajor(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getToolMinor

public float getToolMinor ()

getToolMinor(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getToolMinor

public float getToolMinor (int pointerIndex)

Returns the length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getToolType

public int getToolType (int pointerIndex)

Gets the tool type of a pointer for the given pointer index. The tool type indicates the type of tool used to make contact such as a finger or stylus, if known.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
int The tool type of the pointer.

See also:

getTouchMajor

public float getTouchMajor ()

getTouchMajor(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getTouchMajor

public float getTouchMajor (int pointerIndex)

Returns the length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getTouchMinor

public float getTouchMinor (int pointerIndex)

Returns the length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index (use getPointerId(int) to find the pointer identifier for this index).

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getTouchMinor

public float getTouchMinor ()

getTouchMinor(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getX

public float getX (int pointerIndex)

Returns the X coordinate of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getX

public float getX ()

getX(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getXPrecision

public float getXPrecision ()

Return the precision of the X coordinates being reported. You can multiply this number with getX() to find the actual hardware value of the X coordinate.

Returns
float Returns the precision of X coordinates being reported.

See also:

getY

public float getY ()

getY(int) for the first pointer index (may be an arbitrary pointer identifier).

Returns
float

See also:

getY

public float getY (int pointerIndex)

Returns the Y coordinate of this event for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise.

Parameters
pointerIndex int: Raw index of pointer to retrieve. Value may be from 0 (the first pointer that is down) to getPointerCount()-1.

Returns
float

See also:

getYPrecision

public float getYPrecision ()

Return the precision of the Y coordinates being reported. You can multiply this number with getY() to find the actual hardware value of the Y coordinate.

Returns
float Returns the precision of Y coordinates being reported.

See also:

isButtonPressed

public boolean isButtonPressed (int button)

Checks if a mouse or stylus button (or combination of buttons) is pressed.

Parameters
button int: Button (or combination of buttons).

Returns
boolean True if specified buttons are pressed.

See also:

obtain

public static MotionEvent obtain (long downTime, 
                long eventTime, 
                int action, 
                float x, 
                float y, 
                int metaState)

Create a new MotionEvent, filling in a subset of the basic motion values. Those not specified here are: device id (always 0), pressure and size (always 1), x and y precision (always 1), and edgeFlags (always 0).

Parameters
downTime long: The time (in ms) when the user originally pressed down to start a stream of position events. This must be obtained from SystemClock#uptimeMillis().

eventTime long: The the time (in ms) when this specific event was generated. This must be obtained from SystemClock#uptimeMillis().

action int: The kind of action being performed, such as ACTION_DOWN.

x float: The X coordinate of this event.

y float: The Y coordinate of this event.

metaState int: The state of any meta / modifier keys that were in effect when the event was generated.

Returns
MotionEvent

obtain

public static MotionEvent obtain (long downTime, 
                long eventTime, 
                int action, 
                int pointerCount, 
                float x, 
                float y, 
                float pressure, 
                float size, 
                int metaState, 
                float xPrecision, 
                float yPrecision, 
                int deviceId, 
                int edgeFlags)

This method is deprecated.
Use obtain(long, long, int, float, float, float, float, int, float, float, int, int) instead.

Create a new MotionEvent, filling in all of the basic values that define the motion.

Parameters
downTime long: The time (in ms) when the user originally pressed down to start a stream of position events. This must be obtained from SystemClock#uptimeMillis().

eventTime long: The the time (in ms) when this specific event was generated. This must be obtained from SystemClock#uptimeMillis().

action int: The kind of action being performed, such as ACTION_DOWN.

pointerCount int: The number of pointers that are active in this event.

x float: The X coordinate of this event.

y float: The Y coordinate of this event.

pressure float: The current pressure of this event. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), however values higher than 1 may be generated depending on the calibration of the input device.

size float: A scaled value of the approximate size of the area being pressed when touched with the finger. The actual value in pixels corresponding to the finger touch is normalized with a device specific range of values and scaled to a value between 0 and 1.

metaState int: The state of any meta / modifier keys that were in effect when the event was generated.

xPrecision float: The precision of the X coordinate being reported.

yPrecision float: The precision of the Y coordinate being reported.

deviceId int: The id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values.

edgeFlags int: A bitfield indicating which edges, if any, were touched by this MotionEvent.

Returns
MotionEvent

obtain

public static MotionEvent obtain (long downTime, 
                long eventTime, 
                int action, 
                int pointerCount, 
                int[] pointerIds, 
                PointerCoords[] pointerCoords, 
                int metaState, 
                float xPrecision, 
                float yPrecision, 
                int deviceId, 
                int edgeFlags, 
                int source, 
                int flags)

This method is deprecated.
Use obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int) instead.

Create a new MotionEvent, filling in all of the basic values that define the motion.

Parameters
downTime long: The time (in ms) when the user originally pressed down to start a stream of position events. This must be obtained from SystemClock#uptimeMillis().

eventTime long: The the time (in ms) when this specific event was generated. This must be obtained from SystemClock#uptimeMillis().

action int: The kind of action being performed, such as ACTION_DOWN.

pointerCount int: The number of pointers that will be in this event.

pointerIds int: An array of pointerCount values providing an identifier for each pointer.

pointerCoords PointerCoords: An array of pointerCount values providing a PointerCoords coordinate object for each pointer.

metaState int: The state of any meta / modifier keys that were in effect when the event was generated.

xPrecision float: The precision of the X coordinate being reported.

yPrecision float: The precision of the Y coordinate being reported.

deviceId int: The id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values.

edgeFlags int: A bitfield indicating which edges, if any, were touched by this MotionEvent.

source int: The source of this event.

flags int: The motion event flags.

Returns
MotionEvent

obtain

public static MotionEvent obtain (long downTime, 
                long eventTime, 
                int action, 
                int pointerCount, 
                PointerProperties[] pointerProperties, 
                PointerCoords[] pointerCoords, 
                int metaState, 
                int buttonState, 
                float xPrecision, 
                float yPrecision, 
                int deviceId, 
                int edgeFlags, 
                int source, 
                int flags)

Create a new MotionEvent, filling in all of the basic values that define the motion.

Parameters
downTime long: The time (in ms) when the user originally pressed down to start a stream of position events. This must be obtained from SystemClock#uptimeMillis().

eventTime long: The the time (in ms) when this specific event was generated. This must be obtained from SystemClock#uptimeMillis().

action int: The kind of action being performed, such as ACTION_DOWN.

pointerCount int: The number of pointers that will be in this event.

pointerProperties PointerProperties: An array of pointerCount values providing a PointerProperties property object for each pointer, which must include the pointer identifier.

pointerCoords PointerCoords: An array of pointerCount values providing a PointerCoords coordinate object for each pointer.

metaState int: The state of any meta / modifier keys that were in effect when the event was generated.

buttonState int: The state of buttons that are pressed.

xPrecision float: The precision of the X coordinate being reported.

yPrecision float: The precision of the Y coordinate being reported.

deviceId int: The id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values.

edgeFlags int: A bitfield indicating which edges, if any, were touched by this MotionEvent.

source int: The source of this event.

flags int: The motion event flags.

Returns
MotionEvent

obtain

public static MotionEvent obtain (MotionEvent other)

Create a new MotionEvent, copying from an existing one.

Parameters
other MotionEvent

Returns
MotionEvent

obtain

public static MotionEvent obtain (long downTime, 
                long eventTime, 
                int action, 
                float x, 
                float y, 
                float pressure, 
                float size, 
                int metaState, 
                float xPrecision, 
                float yPrecision, 
                int deviceId, 
                int edgeFlags)

Create a new MotionEvent, filling in all of the basic values that define the motion.

Parameters
downTime long: The time (in ms) when the user originally pressed down to start a stream of position events. This must be obtained from SystemClock#uptimeMillis().

eventTime long: The the time (in ms) when this specific event was generated. This must be obtained from SystemClock#uptimeMillis().

action int: The kind of action being performed, such as ACTION_DOWN.

x float: The X coordinate of this event.

y float: The Y coordinate of this event.

pressure float: The current pressure of this event. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), however values higher than 1 may be generated depending on the calibration of the input device.

size float: A scaled value of the approximate size of the area being pressed when touched with the finger. The actual value in pixels corresponding to the finger touch is normalized with a device specific range of values and scaled to a value between 0 and 1.

metaState int: The state of any meta / modifier keys that were in effect when the event was generated.

xPrecision float: The precision of the X coordinate being reported.

yPrecision float: The precision of the Y coordinate being reported.

deviceId int: The id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values.

edgeFlags int: A bitfield indicating which edges, if any, were touched by this MotionEvent.

Returns
MotionEvent

obtainNoHistory

public static MotionEvent obtainNoHistory (MotionEvent other)

Create a new MotionEvent, copying from an existing one, but not including any historical point information.

Parameters
other MotionEvent

Returns
MotionEvent

offsetLocation

public void offsetLocation (float deltaX, 
                float deltaY)

Adjust this event's location.

Parameters
deltaX float: Amount to add to the current X coordinate of the event.

deltaY float: Amount to add to the current Y coordinate of the event.

recycle

public void recycle ()

Recycle the MotionEvent, to be re-used by a later caller. After calling this function you must not ever touch the event again.

setAction

public void setAction (int action)

Sets this event's action.

Parameters
action int

setEdgeFlags

public void setEdgeFlags (int flags)

Sets the bitfield indicating which edges, if any, were touched by this MotionEvent.

Parameters
flags int

See also:

setLocation

public void setLocation (float x, 
                float y)

Set this event's location. Applies offsetLocation(float, float) with a delta from the current location to the given new location.

Parameters
x float: New absolute X location.

y float: New absolute Y location.

setSource

public void setSource (int source)

Parameters
source int

toString

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

transform

public void transform (Matrix matrix)

Applies a transformation matrix to all of the points in the event.

Parameters
matrix Matrix: The transformation matrix to apply.

writeToParcel

public void writeToParcel (Parcel out, 
                int flags)

Flatten this object in to a Parcel.

Parameters
out Parcel: The Parcel in which the object should be written.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Protected methods

finalize

protected void finalize ()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

The general contract of finalize is that it is invoked if and when the Java™ virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Throws
Throwable