public final class MotionEvent
extends InputEvent
implements Parcelable
java.lang.Object | ||
↳ | android.view.InputEvent | |
↳ | android.view.MotionEvent |
用于报告移动的对象(鼠标,笔,手指,轨迹球)事件。 运动事件可以保持绝对或相对运动和其他数据,这取决于设备的类型。
运动事件根据动作代码和一组轴值来描述运动。 动作代码指定发生的状态变化,例如指针向下或向上。 轴值描述位置和其他运动属性。
例如,当用户第一次触摸屏幕时,系统通过动作代码 ACTION_DOWN
和一组包含触摸的X和Y坐标的轴值以及有关压力,大小和尺寸的信息向适当的 View
传递触摸事件接触区域的方向。
一些设备可以同时报告多个移动轨迹。 多点触摸屏为每个手指发出一个运动轨迹。 产生移动轨迹的各个手指或其他物体被称为指针 。 动作事件包含有关所有当前活动的指针的信息,即使其中一些指针自上次事件发送以来尚未移动。
除非手势被取消,否则随着单个指针上下移动,指针的数量只会改变一次。
每个指针都有一个唯一的ID,它在第一次关闭时分配(由ACTION_DOWN
或ACTION_POINTER_DOWN
表示)。 指针ID保持有效,直到指针最终上升(由ACTION_UP
或ACTION_POINTER_UP
指示)或取消手势(由ACTION_CANCEL
指示)。
所述MotionEvent类提供许多方法来查询位置和指针的其他性质,例如getX(int)
, getY(int)
, getAxisValue(int)
, getPointerId(int)
, getToolType(int)
,和许多其他。 大多数这些方法接受指针索引作为参数而不是指针ID。 事件中每个指针的指针索引范围从0到1,小于getPointerCount()
返回的值。
单个指针在运动事件中出现的顺序未定义。 因此,指针的指针索引可以从一个事件改变到下一个事件,但只要指针保持活动状态,指针的指针ID就保证保持不变。 使用getPointerId(int)
方法获取指针的指针ID,以在手势中的所有后续动作事件中跟踪指针。 然后,对于连续的运动事件,请使用findPointerIndex(int)
方法获取该运动事件中给定指针标识的指针索引。
鼠标和手写笔按钮可以使用getButtonState()
进行检索。 在处理ACTION_DOWN
作为触摸事件的一部分时检查按钮状态是一个好主意。 如果触摸事件由于次按钮单击而启动,例如呈现上下文菜单,则应用程序可以选择执行一些不同的动作。
为了提高效率,使用ACTION_MOVE
运动事件可以将单个对象内的多个运动样本进行批处理。 最新的指针坐标可以使用getX(int)
和getY(int)
。 使用getHistoricalX(int, int)
和getHistoricalY(int, int)
访问批次内的较早坐标。 坐标是“历史的”,只是因为它们比批处理中的当前坐标更早; 然而,它们仍然不同于之前动作事件中报告的任何其他坐标。 要按时间顺序处理批次中的所有坐标,请先消耗历史坐标,然后消耗当前坐标。
示例:按时间顺序消耗运动事件中所有指针的所有采样。
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));
}
}
MotionEvent内容的解释根据设备的源类而有很大不同。
在触摸屏等源类为SOURCE_CLASS_POINTER
指点设备上,指针坐标指定绝对位置,如视图X / Y坐标。 每个完整的手势由一系列动作事件表示,其中动作描述指针状态转换和移动。 一个手势以ACTION_DOWN
的运动事件开始,提供第一个指针的位置。 随着每个额外的指针向下或向上,框架将相应地生成一个包含ACTION_POINTER_DOWN
或ACTION_POINTER_UP
的运动事件。 指针运动由ACTION_MOVE
的运动事件描述。 最后,手势可以在最终指针上升时结束,如ACTION_UP
的运动事件表示的ACTION_UP
或者手势被ACTION_CANCEL
取消。
某些指点设备(如鼠标)可支持垂直和/或水平滚动。 滚动事件被报告为ACTION_SCROLL
的通用运动事件,其中包括AXIS_VSCROLL
和AXIS_HSCROLL
轴中的相对滚动偏移量。 有关检索这些附加轴的信息,请参见getAxisValue(int)
。
在源类为SOURCE_CLASS_TRACKBALL
轨迹球设备上,指针坐标将相对运动指定为X / Y增量。 轨迹球手势包括由运动事件描述的一系列运动,其中运动事件ACTION_MOVE
偶尔分布有ACTION_DOWN
或ACTION_UP
运动事件,当轨迹球按钮被按下或释放时。
在源类为SOURCE_CLASS_JOYSTICK
游戏杆设备上,指针坐标指定操纵杆轴的绝对位置。 操纵杆轴值被归一化到-1.0至1.0的范围,其中0.0对应于中心位置。 有关可用轴组和运动范围的更多信息可以使用getMotionRange(int)
获得。 一些常见的摇杆轴是AXIS_X
, AXIS_Y
, AXIS_HAT_X
, AXIS_HAT_Y
, AXIS_Z
和AXIS_RZ
。
有关不同类型的输入设备和来源如何表示指针坐标的更多信息,请参阅 InputDevice
。
运动事件始终作为一致的事件流传递给视图。 什么构成一致的流取决于设备的类型。 对于触摸事件来说,一致性意味着指针一次一个地下移,作为一组移动,然后一次一个或取消。
虽然框架试图向视图提供一致的运动事件流,但它不能保证它。 某些事件可能会在传递之前通过在应用程序中包含视图来删除或修改,从而导致事件流不一致。 视图应始终准备好处理ACTION_CANCEL
并且应该能够容忍异常情况,例如接收新的ACTION_DOWN
而不是先收到先前手势的ACTION_UP
。
Nested classes |
|
---|---|
class |
MotionEvent.PointerCoords 传递对象的指针坐标。 |
class |
MotionEvent.PointerProperties 传递指针属性的对象。 |
Constants |
|
---|---|
int |
ACTION_BUTTON_PRESS 常量为 |
int |
ACTION_BUTTON_RELEASE 常量 |
int |
ACTION_CANCEL 常量 |
int |
ACTION_DOWN 常量 |
int |
ACTION_HOVER_ENTER 常量为 |
int |
ACTION_HOVER_EXIT 常量为 |
int |
ACTION_HOVER_MOVE 常量为 |
int |
ACTION_MASK 作为动作本身的动作代码部分的位掩码。 |
int |
ACTION_MOVE 常量 |
int |
ACTION_OUTSIDE 常量为 |
int |
ACTION_POINTER_1_DOWN 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_1_UP 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_2_DOWN 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_2_UP 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_3_DOWN 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_3_UP 此常数在API级别8中已弃用。使用 |
int |
ACTION_POINTER_DOWN 常量为 |
int |
ACTION_POINTER_ID_MASK 此常数在API级别8中已弃用。重命名为 |
int |
ACTION_POINTER_ID_SHIFT 此常数在API级别8中已弃用。重命名为 |
int |
ACTION_POINTER_INDEX_MASK 动作代码中的位代表指针索引,与 |
int |
ACTION_POINTER_INDEX_SHIFT 按照 |
int |
ACTION_POINTER_UP 常量为 |
int |
ACTION_SCROLL 常量为 |
int |
ACTION_UP 常量 |
int |
AXIS_BRAKE 轴常数:运动事件的制动轴。 |
int |
AXIS_DISTANCE 轴常数:运动事件的距离轴。 |
int |
AXIS_GAS 轴常数:运动事件的气体轴。 |
int |
AXIS_GENERIC_1 轴常数:运动事件的通用1轴。 |
int |
AXIS_GENERIC_10 轴常数:运动事件的通用10轴。 |
int |
AXIS_GENERIC_11 轴常数:运动事件的通用11轴。 |
int |
AXIS_GENERIC_12 轴常数:运动事件的通用12轴。 |
int |
AXIS_GENERIC_13 轴常数:运动事件的通用13轴。 |
int |
AXIS_GENERIC_14 轴常数:运动事件的通用14轴。 |
int |
AXIS_GENERIC_15 轴常数:运动事件的通用15轴。 |
int |
AXIS_GENERIC_16 轴常数:运动事件的通用16轴。 |
int |
AXIS_GENERIC_2 轴常数:运动事件的通用2轴。 |
int |
AXIS_GENERIC_3 轴常数:运动事件的通用3轴。 |
int |
AXIS_GENERIC_4 轴常数:运动事件的通用4轴。 |
int |
AXIS_GENERIC_5 轴常数:运动事件的通用5轴。 |
int |
AXIS_GENERIC_6 轴常数:运动事件的通用6轴。 |
int |
AXIS_GENERIC_7 轴常数:运动事件的通用7轴。 |
int |
AXIS_GENERIC_8 轴常数:运动事件的通用8轴。 |
int |
AXIS_GENERIC_9 轴常数:运动事件的通用9轴。 |
int |
AXIS_HAT_X 轴常数:运动事件的帽子X轴。 |
int |
AXIS_HAT_Y 轴常数:动作事件的帽子Y轴。 |
int |
AXIS_HSCROLL 轴常数:水平滚动运动事件的轴。 |
int |
AXIS_LTRIGGER 轴常数:左运动事件的触发轴。 |
int |
AXIS_ORIENTATION 轴常数:运动事件的方向轴。 |
int |
AXIS_PRESSURE 轴常数:运动事件的压力轴。 |
int |
AXIS_RELATIVE_X 轴常数:运动事件的x位置的运动。 |
int |
AXIS_RELATIVE_Y 轴常数:运动事件的y位置的运动。 |
int |
AXIS_RTRIGGER 轴常数:右运动事件的触发轴。 |
int |
AXIS_RUDDER 轴常数:运动事件的舵轴。 |
int |
AXIS_RX 轴常数:X运动事件的旋转轴。 |
int |
AXIS_RY 轴常数:Y运动事件的旋转轴。 |
int |
AXIS_RZ 轴常数:Z运动事件的旋转轴。 |
int |
AXIS_SIZE 轴常数:运动事件的大小轴。 |
int |
AXIS_THROTTLE 轴常数:动作事件的节流轴。 |
int |
AXIS_TILT 轴常数:运动事件的倾斜轴。 |
int |
AXIS_TOOL_MAJOR 轴常量:运动事件的ToolMajor轴。 |
int |
AXIS_TOOL_MINOR 轴常数:运动事件的ToolMinor轴。 |
int |
AXIS_TOUCH_MAJOR 轴常量:触摸运动事件的主轴。 |
int |
AXIS_TOUCH_MINOR 轴常数:动作事件的TouchMinor轴。 |
int |
AXIS_VSCROLL 轴常数:垂直移动事件的轴。 |
int |
AXIS_WHEEL 轴常数:运动事件的轮轴。 |
int |
AXIS_X 轴常数:运动事件的X轴。 |
int |
AXIS_Y 轴常数:运动事件的Y轴。 |
int |
AXIS_Z 轴常数:运动事件的Z轴。 |
int |
BUTTON_BACK 按钮常量:按下后退按钮(鼠标后退按钮)。 |
int |
BUTTON_FORWARD 按钮常量:按下前进按钮(鼠标前进按钮)。 |
int |
BUTTON_PRIMARY 按钮常量:主按钮(鼠标左键)。 |
int |
BUTTON_SECONDARY 按钮常量:辅助按钮(鼠标右键)。 |
int |
BUTTON_STYLUS_PRIMARY 按钮常量:主笔按钮被按下。 |
int |
BUTTON_STYLUS_SECONDARY 按钮常量:按下次手写笔按钮。 |
int |
BUTTON_TERTIARY 按钮常量:第三级按钮(鼠标中键)。 |
int |
EDGE_BOTTOM 指示运动事件的标志与屏幕的底部边缘相交。 |
int |
EDGE_LEFT 指示运动事件的标志与屏幕的左边缘相交。 |
int |
EDGE_RIGHT 指示运动事件的标志与屏幕的右边缘相交。 |
int |
EDGE_TOP 指示运动事件的标志与屏幕的上边缘相交。 |
int |
FLAG_WINDOW_IS_OBSCURED 该标志表示接收到该运动事件的窗口部分或全部被其上方的另一个可见窗口遮挡。 |
int |
INVALID_POINTER_ID 无效的指针ID。 |
int |
TOOL_TYPE_ERASER 工具类型常量:该工具是以倒立姿势使用的橡皮擦或手写笔。 |
int |
TOOL_TYPE_FINGER 工具类型常量:该工具是一个手指。 |
int |
TOOL_TYPE_MOUSE 工具类型常量:该工具是鼠标或触控板。 |
int |
TOOL_TYPE_STYLUS 工具类型常量:该工具是手写笔。 |
int |
TOOL_TYPE_UNKNOWN 工具类型常量:未知工具类型。 |
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<MotionEvent> |
CREATOR |
Inherited fields |
---|
From class android.view.InputEvent
|
Public methods |
|
---|---|
static String |
actionToString(int action) 如果未知,则返回表示指定的未屏蔽动作(如“ACTION_DOWN”,“ACTION_POINTER_DOWN(3)”)或等效数值常量(例如“35”)的符号名称的字符串。 |
final void |
addBatch(long eventTime, PointerCoords[] pointerCoords, int metaState) 为此次活动中的一批动作添加一个新动作。 |
final void |
addBatch(long eventTime, float x, float y, float pressure, float size, int metaState) 为此次活动中的一批动作添加一个新动作。 |
static int |
axisFromString(String symbolicName) 通过其符号名称(如“AXIS_X”)或等效数值常量(如“42”)获取轴。 |
static String |
axisToString(int axis) 如果未知,则返回表示指定轴的符号名称(如“AXIS_X”)或等效数字常量(如“42”)的字符串。 |
final int |
findPointerIndex(int pointerId) 给定一个指针标识符,找到它在事件中的数据索引。 |
final int |
getAction() 返回正在执行的操作。 |
final int |
getActionButton() 获取在按下或释放操作期间哪个按钮已被修改。 |
final int |
getActionIndex() 对于由 |
final int |
getActionMasked() 返回正在执行的被屏蔽的操作,不带指针索引信息。 |
final float |
getAxisValue(int axis, int pointerIndex) 返回给定指针 索引的请求轴的值(使用 |
final float |
getAxisValue(int axis)
|
final int |
getButtonState() 获取按下的所有按钮的状态,例如鼠标或手写笔按钮。 |
final int |
getDeviceId() 获取此事件来自的设备的ID。 |
final long |
getDownTime() 返回用户最初按下时启动位置事件流的时间(以毫秒为单位)。 |
final int |
getEdgeFlags() 返回一个位域,指示此MotionEvent触摸哪条边(如果有)。 |
final long |
getEventTime() 检索此事件发生的时间,在 |
final int |
getFlags() 获取运动事件标志。 |
final float |
getHistoricalAxisValue(int axis, int pointerIndex, int pos) 根据 |
final float |
getHistoricalAxisValue(int axis, int pos)
|
final long |
getHistoricalEventTime(int pos) 以 |
final float |
getHistoricalOrientation(int pointerIndex, int pos) 按照 |
final float |
getHistoricalOrientation(int pos)
|
final void |
getHistoricalPointerCoords(int pointerIndex, int pos, MotionEvent.PointerCoords outPointerCoords) 使用历史指针坐标数据填充 |
final float |
getHistoricalPressure(int pointerIndex, int pos) 根据 |
final float |
getHistoricalPressure(int pos)
|
final float |
getHistoricalSize(int pos)
|
final float |
getHistoricalSize(int pointerIndex, int pos) 根据 |
final float |
getHistoricalToolMajor(int pos)
|
final float |
getHistoricalToolMajor(int pointerIndex, int pos) 按照 |
final float |
getHistoricalToolMinor(int pos)
|
final float |
getHistoricalToolMinor(int pointerIndex, int pos) 按照 |
final float |
getHistoricalTouchMajor(int pos)
|
final float |
getHistoricalTouchMajor(int pointerIndex, int pos) 按照 |
final float |
getHistoricalTouchMinor(int pointerIndex, int pos) 按照 |
final float |
getHistoricalTouchMinor(int pos)
|
final float |
getHistoricalX(int pos)
|
final float |
getHistoricalX(int pointerIndex, int pos) 按照 |
final float |
getHistoricalY(int pos)
|
final float |
getHistoricalY(int pointerIndex, int pos) 按照 |
final int |
getHistorySize() 返回此事件中的历史点数。 |
final int |
getMetaState() 返回生成事件时有效的元/键的状态。 |
final float |
getOrientation()
|
final float |
getOrientation(int pointerIndex) 对于给定的指针 索引,返回触摸区域和工具区域的垂直方向弧度的垂直方向(使用 |
final void |
getPointerCoords(int pointerIndex, MotionEvent.PointerCoords outPointerCoords) 使用指定指针索引的指针坐标数据填充 |
final int |
getPointerCount() 包含在这个事件中的数据指针的数量。 |
final int |
getPointerId(int pointerIndex) 在此事件中返回与特定指针数据索引关联的指针标识符。 |
final void |
getPointerProperties(int pointerIndex, MotionEvent.PointerProperties outPointerProperties) 使用指定指针索引的指针属性填充 |
final float |
getPressure(int pointerIndex) 返回给定指针 索引的此事件的当前压力(使用 |
final float |
getPressure()
|
final float |
getRawX() 返回此事件的原始X坐标。 |
final float |
getRawY() 返回此事件的原始Y坐标。 |
final float |
getSize(int pointerIndex) 返回给定指针 索引的近似大小的缩放值(使用 |
final float |
getSize()
|
final int |
getSource() 获取事件的来源。 |
final float |
getToolMajor(int pointerIndex) 返回描述给定指针 索引的接近工具大小的椭圆的长轴长度(使用 |
final float |
getToolMajor()
|
final float |
getToolMinor()
|
final float |
getToolMinor(int pointerIndex) 返回描述给定指针 索引的接近工具大小的椭圆的短轴长度(使用 |
final int |
getToolType(int pointerIndex) 获取给定指针索引的指针的工具类型。 |
final float |
getTouchMajor()
|
final float |
getTouchMajor(int pointerIndex) 返回描述给定指针 索引的接触点触摸区域的椭圆的长轴长度(使用 |
final float |
getTouchMinor(int pointerIndex) 返回描述给定指针 索引的接触点触摸区域的椭圆的短轴长度(使用 |
final float |
getTouchMinor()
|
final float |
getX(int pointerIndex) 返回给定指针 索引的此事件的X坐标(使用 |
final float |
getX()
|
final float |
getXPrecision() 返回正在报告的X坐标的精度。 |
final float |
getY()
|
final float |
getY(int pointerIndex) 返回给定指针 索引的此事件的Y坐标(使用 |
final float |
getYPrecision() 返回正在报告的Y坐标的精度。 |
final boolean |
isButtonPressed(int button) 检查是否按下了鼠标或手写笔按钮(或按钮组合)。 |
static MotionEvent |
obtain(long downTime, long eventTime, int action, float x, float y, int metaState) 创建一个新的MotionEvent,填充基本运动值的子集。 |
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) 此方法在API级别9中已弃用。请改为使用 |
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) 此方法在API级别14中已弃用。请改为使用 |
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) 创建一个新的MotionEvent,填入定义运动的所有基本值。 |
static MotionEvent |
obtain(MotionEvent other) 创建一个新的MotionEvent,从现有的复制。 |
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) 创建一个新的MotionEvent,填入定义运动的所有基本值。 |
static MotionEvent |
obtainNoHistory(MotionEvent other) 创建一个新的MotionEvent,从现有的MotionEvent进行复制,但不包含任何历史点信息。 |
final void |
offsetLocation(float deltaX, float deltaY) 调整此事件的位置。 |
final void |
recycle() 回收MotionEvent,以供稍后调用者重新使用。 |
final void |
setAction(int action) 设置此事件的操作。 |
final void |
setEdgeFlags(int flags) 设置指示哪个边缘(如果有)被此MotionEvent触摸的位域。 |
final void |
setLocation(float x, float y) 设置此事件的位置。 |
final void |
setSource(int source) 修改事件的来源。 |
String |
toString() 返回对象的字符串表示形式。 |
final void |
transform(Matrix matrix) 将变换矩阵应用于事件中的所有点。 |
void |
writeToParcel(Parcel out, int flags) 将此对象平铺到一个包裹中。 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class android.view.InputEvent
|
|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
int ACTION_BUTTON_PRESS
常量 getActionMasked()
:按钮已被按下。
使用 getActionButton()
来获取按下哪个按钮。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:11(0x0000000b)
int ACTION_BUTTON_RELEASE
常量 getActionMasked()
:一个按钮已被释放。
使用 getActionButton()
来获取哪个按钮被释放。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:12(0x0000000c)
int ACTION_CANCEL
常量为getActionMasked()
:当前手势已中止。 你将不会再收到任何分数。 你应该将此视为一个事件,但不能执行你通常会采取的任何行动。
常量值:3(0x00000003)
int ACTION_DOWN
常量 getActionMasked()
:按下的手势已开始,动作包含初始起始位置。
这也是检查按钮状态以区分二级和三级按钮点击并正确处理它们的好时机。 使用getButtonState()
检索按钮状态。
常量值:0(0x00000000)
int ACTION_HOVER_ENTER
常量为 getActionMasked()
:指针未关闭,但已进入窗口或视图的边界。
此操作始终传递到指针下的窗口或视图。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:9(0x00000009)
int ACTION_HOVER_EXIT
常量为 getActionMasked()
:指针未关闭,但已退出窗口或视图的边界。
这个动作总是被传送到先前在指针下的窗口或视图。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:10(0x0000000a)
int ACTION_HOVER_MOVE
常量为getActionMasked()
:发生更改,但指针未关闭(不像ACTION_MOVE
)。 该动作包含最近的点以及自上次悬停移动事件以来的任何中间点。
此操作始终传递到指针下的窗口或视图。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:7(0x00000007)
int ACTION_MOVE
常量getActionMasked()
:在按下手势( ACTION_DOWN
和ACTION_UP
之间)期间发生了变化。 该动作包含最近的点以及自上次下移或移动事件以来的任何中间点。
常量值:2(0x00000002)
int ACTION_OUTSIDE
常量为getActionMasked()
:移动发生在UI元素的正常界限之外。 这不提供完整的手势,而只是移动/触摸的初始位置。
常量值:4(0x00000004)
int ACTION_POINTER_1_DOWN
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_DOWN
相关联的数据索引。
常量值:5(0x00000005)
int ACTION_POINTER_1_UP
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_UP
相关联的数据索引。
常数值:6(0x00000006)
int ACTION_POINTER_2_DOWN
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_DOWN
关联的数据索引。
常量值:261(0x00000105)
int ACTION_POINTER_2_UP
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_UP
关联的数据索引。
常量值:262(0x00000106)
int ACTION_POINTER_3_DOWN
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_DOWN
关联的数据索引。
常量值:517(0x00000205)
int ACTION_POINTER_3_UP
此常数在API级别8中已弃用。
使用ACTION_POINTER_INDEX_MASK
检索与ACTION_POINTER_UP
关联的数据索引。
常量值:518(0x00000206)
int ACTION_POINTER_DOWN
常量为 getActionMasked()
:非主指针已关闭。
使用 getActionIndex()
来检索改变的指针的索引。
该索引编码在由 getAction()
返回的未屏蔽操作的 ACTION_POINTER_INDEX_MASK
位中。
常量值:5(0x00000005)
int ACTION_POINTER_ID_MASK
此常数在API级别8中已弃用。
将其重命名为ACTION_POINTER_INDEX_MASK
以匹配这些位中包含的实际数据。
常量值:65280(0x0000ff00)
int ACTION_POINTER_ID_SHIFT
此常数在API级别8中已弃用。
将其重命名为ACTION_POINTER_INDEX_SHIFT
以匹配这些位中包含的实际数据。
常量值:8(0x00000008)
int ACTION_POINTER_INDEX_MASK
代表指针索引的动作代码中的位,与ACTION_POINTER_DOWN
和ACTION_POINTER_UP
。 向下移动ACTION_POINTER_INDEX_SHIFT
可以找到指针向上或向下数据的实际指针索引; 你可以得到它的标识符与getPointerId(int)
,并与实际数据getX(int)
等。
也可以看看:
常量值:65280(0x0000ff00)
int ACTION_POINTER_INDEX_SHIFT
按照 ACTION_POINTER_INDEX_MASK
定义的保存指针索引的动作位进行 ACTION_POINTER_INDEX_MASK
。
也可以看看:
常量值:8(0x00000008)
int ACTION_POINTER_UP
getActionMasked()
常量:非主指针已上升。
使用 getActionIndex()
来检索已更改的指针的索引。
该指数在编码 ACTION_POINTER_INDEX_MASK
返回的未屏蔽作用的位 getAction()
。
常数值:6(0x00000006)
int ACTION_SCROLL
getActionMasked()
常量:运动事件包含相对垂直和/或水平滚动偏移。 使用getAxisValue(int)
从AXIS_VSCROLL
和AXIS_HSCROLL
检索信息。 此事件发送时,指针可能会或可能不会关闭。
此操作始终传递到指针下的窗口或视图,该指针可能不是当前触摸的窗口或视图。
此操作不是触摸事件,因此将其交付给 onGenericMotionEvent(MotionEvent)
而不是 onTouchEvent(MotionEvent)
。
常量值:8(0x00000008)
int ACTION_UP
常量为 getActionMasked()
:按下的手势已完成,该动作包含最后释放位置以及自上次下移或移动事件以来的任何中间点。
常数值:1(0x00000001)
int AXIS_BRAKE
轴常数:运动事件的制动轴。
也可以看看:
常量值:23(0x00000017)
int AXIS_DISTANCE
轴常数:运动事件的距离轴。
也可以看看:
常量值:24(0x00000018)
int AXIS_GAS
轴常数:运动事件的气体轴。
也可以看看:
常量值:22(0x00000016)
int AXIS_GENERIC_1
轴常数:运动事件的通用1轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:32(0x00000020)
int AXIS_GENERIC_10
轴常数:运动事件的通用10轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:41(0x00000029)
int AXIS_GENERIC_11
轴常数:运动事件的通用11轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:42(0x0000002a)
int AXIS_GENERIC_12
轴常数:运动事件的通用12轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:43(0x0000002b)
int AXIS_GENERIC_13
轴常数:运动事件的通用13轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:44(0x0000002c)
int AXIS_GENERIC_14
轴常数:运动事件的通用14轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:45(0x0000002d)
int AXIS_GENERIC_15
轴常数:运动事件的通用15轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:46(0x0000002e)
int AXIS_GENERIC_16
轴常数:运动事件的通用16轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:47(0x0000002f)
int AXIS_GENERIC_2
轴常数:运动事件的通用2轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:33(0x00000021)
int AXIS_GENERIC_3
轴常数:运动事件的通用3轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:34(0x00000022)
int AXIS_GENERIC_4
轴常数:运动事件的通用4轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:35(0x00000023)
int AXIS_GENERIC_5
轴常数:运动事件的通用5轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:36(0x00000024)
int AXIS_GENERIC_6
轴常数:运动事件的通用6轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:37(0x00000025)
int AXIS_GENERIC_7
轴常数:运动事件的通用7轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:38(0x00000026)
int AXIS_GENERIC_8
轴常数:运动事件的通用8轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:39(0x00000027)
int AXIS_GENERIC_9
轴常数:运动事件的通用9轴。 通用轴的解释是特定于设备的。
也可以看看:
常量值:40(0x00000028)
int AXIS_HAT_X
轴常数:运动事件的帽子X轴。
也可以看看:
常量值:15(0x0000000f)
int AXIS_HAT_Y
轴常数:动作事件的帽子Y轴。
也可以看看:
常量值:16(0x00000010)
int AXIS_HSCROLL
轴常数:水平滚动运动事件的轴。
该轴应该用于水平滚动视图。
也可以看看:
常量值:10(0x0000000a)
int AXIS_LTRIGGER
轴常数:左运动事件的触发轴。
也可以看看:
常量值:17(0x00000011)
int AXIS_ORIENTATION
轴常数:运动事件的方向轴。
AXIS_TILT
. 常量值:8(0x00000008)
int AXIS_PRESSURE
轴常数:运动事件的压力轴。
常量值:2(0x00000002)
int AXIS_RELATIVE_X
轴常数:运动事件的x位置的运动。
也可以看看:
常量值:27(0x0000001b)
int AXIS_RELATIVE_Y
轴常数:运动事件的y位置的运动。
这与 AXIS_RELATIVE_X
类似,但对于y轴。
也可以看看:
常量值:28(0x0000001c)
int AXIS_RTRIGGER
轴常数:右运动事件的触发轴。
也可以看看:
常量值:18(0x00000012)
int AXIS_RUDDER
轴常数:运动事件的舵轴。
也可以看看:
常量值:20(0x00000014)
int AXIS_RX
轴常数:X运动事件的旋转轴。
也可以看看:
常量值:12(0x0000000c)
int AXIS_RY
轴常数:Y运动事件的旋转轴。
也可以看看:
常量值:13(0x0000000d)
int AXIS_RZ
轴常数:Z运动事件的旋转轴。
也可以看看:
常量值:14(0x0000000e)
int AXIS_SIZE
轴常数:运动事件的大小轴。
AXIS_TOUCH_MAJOR
or AXIS_TOOL_MAJOR
. 常量值:3(0x00000003)
int AXIS_THROTTLE
轴常数:动作事件的节流轴。
也可以看看:
常量值:19(0x00000013)
int AXIS_TILT
轴常数:运动事件的倾斜轴。
也可以看看:
常量值:25(0x00000019)
int AXIS_TOOL_MAJOR
轴常量:运动事件的ToolMajor轴。
getMotionRange(int)
to query the effective range of values. 当触摸是圆形时,主轴和副轴的长度将相等。
由于工具可能未完全接触触摸传感器,工具尺寸可能大于触摸尺寸。
常数值:6(0x00000006)
int AXIS_TOOL_MINOR
轴常数:运动事件的ToolMinor轴。
getMotionRange(int)
to query the effective range of values. 当触摸是圆形时,主轴和副轴的长度将相等。
由于工具可能未完全接触触摸传感器,工具尺寸可能大于触摸尺寸。
常量值:7(0x00000007)
int AXIS_TOUCH_MAJOR
轴常量:触摸运动事件的主轴。
getMotionRange(int)
to query the effective range of values. 常量值:4(0x00000004)
int AXIS_TOUCH_MINOR
轴常数:动作事件的TouchMinor轴。
getMotionRange(int)
to query the effective range of values. 当触摸是圆形时,主轴和副轴的长度将相等。
常量值:5(0x00000005)
int AXIS_VSCROLL
轴常数:垂直移动事件的轴。
该轴应该用于垂直滚动视图。
也可以看看:
常量值:9(0x00000009)
int AXIS_WHEEL
轴常数:运动事件的轮轴。
也可以看看:
常量值:21(0x00000015)
int AXIS_X
轴常数:运动事件的X轴。
getMotionRange(int)
to query the effective range of values. 常量值:0(0x00000000)
int AXIS_Y
轴常数:运动事件的Y轴。
getMotionRange(int)
to query the effective range of values. 常数值:1(0x00000001)
int AXIS_Z
轴常数:运动事件的Z轴。
也可以看看:
常量值:11(0x0000000b)
int BUTTON_BACK
按钮常量:按下后退按钮(鼠标后退按钮)。
按下此按钮时,系统可能会向应用程序发送 KEYCODE_BACK
按键。
也可以看看:
常量值:8(0x00000008)
int BUTTON_FORWARD
按钮常量:按下前进按钮(鼠标前进按钮)。
按下此按钮时,系统可能会向应用程序发送 KEYCODE_FORWARD
按键。
也可以看看:
常量值:16(0x00000010)
int BUTTON_PRIMARY
按钮常量:主按钮(鼠标左键)。 此按钮常数不会响应用手指或笔尖轻松触摸设置。 用户必须实际按下一个按钮。
也可以看看:
常数值:1(0x00000001)
int BUTTON_SECONDARY
按钮常量:辅助按钮(鼠标右键)。
也可以看看:
常量值:2(0x00000002)
int BUTTON_STYLUS_PRIMARY
按钮常量:主笔按钮被按下。
也可以看看:
常量值:32(0x00000020)
int BUTTON_STYLUS_SECONDARY
按钮常量:按下次手写笔按钮。
也可以看看:
常量值:64(0x00000040)
int BUTTON_TERTIARY
按钮常量:第三级按钮(鼠标中键)。
也可以看看:
常量值:4(0x00000004)
int FLAG_WINDOW_IS_OBSCURED
该标志表示接收到该运动事件的窗口部分或全部被其上方的另一个可见窗口遮挡。 即使事件没有直接通过遮挡区域,该标志也会设置为true。 安全敏感的应用程序可以检查该标志以识别恶意应用程序可能为了误导用户或劫持触摸而掩盖其部分内容的情况。 适当的回应可能是放弃可疑的触摸或采取额外的预防措施来确认用户的实际意图。
常数值:1(0x00000001)
int INVALID_POINTER_ID
无效的指针ID。 此值(-1)可用作占位符来指示指针ID尚未分配或不可用。 它不能作为MotionEvent
内的指针ID出现。
常量值:-1(0xffffffff)
int TOOL_TYPE_ERASER
工具类型常量:该工具是以倒立姿势使用的橡皮擦或手写笔。
也可以看看:
常量值:4(0x00000004)
int TOOL_TYPE_FINGER
工具类型常量:该工具是一个手指。
也可以看看:
常数值:1(0x00000001)
int TOOL_TYPE_MOUSE
工具类型常量:该工具是鼠标或触控板。
也可以看看:
常量值:3(0x00000003)
int TOOL_TYPE_STYLUS
工具类型常量:该工具是手写笔。
也可以看看:
常量值:2(0x00000002)
int TOOL_TYPE_UNKNOWN
工具类型常量:未知工具类型。 当工具类型未知或不相关时(例如跟踪球或其他非指向设备)使用此常数。
也可以看看:
常量值:0(0x00000000)
String actionToString (int action)
如果未知,则返回表示指定的未屏蔽动作(如“ACTION_DOWN”,“ACTION_POINTER_DOWN(3)”)或等效数值常量(例如“35”)的符号名称的字符串。
Parameters | |
---|---|
action |
int : The unmasked action. |
Returns | |
---|---|
String |
The symbolic name of the specified action. |
也可以看看:
void addBatch (long eventTime, PointerCoords[] pointerCoords, int metaState)
为此次活动中的一批动作添加一个新动作。 事件的当前位置,位置和大小已更新为新值。 事件中的当前值将被添加到历史值列表中。 仅适用于ACTION_MOVE
或ACTION_HOVER_MOVE
事件。
Parameters | |
---|---|
eventTime |
long : The time stamp (in ms) for this data. |
pointerCoords |
PointerCoords : The new pointer coordinates. |
metaState |
int : Meta key state. |
void addBatch (long eventTime, float x, float y, float pressure, float size, int metaState)
为此次活动中的一批动作添加一个新动作。 事件的当前位置,位置和大小已更新为新值。 事件中的当前值将被添加到历史值列表中。 仅适用于ACTION_MOVE
或ACTION_HOVER_MOVE
事件。
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. |
int axisFromString (String symbolicName)
通过其符号名称(如“AXIS_X”)或等效数值常量(如“42”)获取轴。
Parameters | |
---|---|
symbolicName |
String : The symbolic name of the axis. |
Returns | |
---|---|
int |
The axis or -1 if not found. |
也可以看看:
String axisToString (int axis)
如果未知,则返回表示指定轴的符号名称(如“AXIS_X”)或等效数字常量(如“42”)的字符串。
Parameters | |
---|---|
axis |
int : The axis. |
Returns | |
---|---|
String |
The symbolic name of the specified axis. |
int findPointerIndex (int pointerId)
给定一个指针标识符,找到它在事件中的数据索引。
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. |
int getAction ()
返回正在执行的操作。 考虑使用getActionMasked()
和getActionIndex()
来检索单独的被屏蔽动作和指针索引。
Returns | |
---|---|
int |
The action, such as ACTION_DOWN or the combination of ACTION_POINTER_DOWN with a shifted pointer index. |
int getActionButton ()
获取在按下或释放操作期间哪个按钮已被修改。 对于ACTION_BUTTON_PRESS
和ACTION_BUTTON_RELEASE
以外的ACTION_BUTTON_PRESS
,返回值未定义。
Returns | |
---|---|
int |
也可以看看:
int getActionIndex ()
对于由getActionMasked()
返回的ACTION_POINTER_DOWN
或ACTION_POINTER_UP
,这将返回关联的指针索引。 该指数可以与使用getPointerId(int)
, getX(int)
, getY(int)
, getPressure(int)
,并getSize(int)
,以获取有关已经向上或向下的指针信息。
Returns | |
---|---|
int |
The index associated with the action. |
int getActionMasked ()
返回正在执行的被屏蔽的操作,不带指针索引信息。 使用getActionIndex()
返回与指针操作关联的索引。
Returns | |
---|---|
int |
The action, such as ACTION_DOWN or ACTION_POINTER_DOWN . |
float getAxisValue (int axis, int pointerIndex)
返回给定指针 索引的请求轴的值(使用 getPointerId(int)
查找此索引的指针标识符)。
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. |
float getAxisValue (int axis)
getAxisValue(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
axis |
int : The axis identifier for the axis value to retrieve. |
Returns | |
---|---|
float |
int getButtonState ()
获取按下的所有按钮的状态,例如鼠标或手写笔按钮。
Returns | |
---|---|
int |
The button state. |
int getDeviceId ()
获取此事件来自的设备的ID。 ID为0表示事件不是来自物理设备,而是映射到默认键盘映射。 其他数字是任意的,你不应该依赖于这些值。
Returns | |
---|---|
int |
The device id. |
int getEdgeFlags ()
返回一个位域,指示此MotionEvent触摸哪条边(如果有)。 对于触摸事件,客户可以使用它来确定用户的手指是否触摸显示器的边缘。 此属性仅适用于ACTION_DOWN
事件。
Returns | |
---|---|
int |
也可以看看:
long getEventTime ()
检索此事件发生的时间,在 uptimeMillis()
时基中。
Returns | |
---|---|
long |
Returns the time this event occurred, in the uptimeMillis() time base. |
float getHistoricalAxisValue (int axis, int pointerIndex, int pos)
根据getAxisValue(int, int)
,返回此事件与给定指针的上一个事件之间发生的请求轴的历史值。 仅适用于ACTION_MOVE事件。
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. |
float getHistoricalAxisValue (int axis, int pos)
getHistoricalAxisValue(int, int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
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 |
long getHistoricalEventTime (int pos)
以 uptimeMillis()
时基为基础,返回此事件与上一事件之间历史移动的时间。
这仅适用于ACTION_MOVE事件。
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 uptimeMillis() time base. |
也可以看看:
float getHistoricalOrientation (int pointerIndex, int pos)
按照getOrientation(int)
,返回此事件与给定指针的上一个事件之间发生的历史方向坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalOrientation (int pos)
getHistoricalOrientation(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
void getHistoricalPointerCoords (int pointerIndex, int pos, MotionEvent.PointerCoords outPointerCoords)
使用历史指针坐标数据填充MotionEvent.PointerCoords
对象,根据getPointerCoords(int, MotionEvent.PointerCoords)
,发生在该事件和给定指针的上一个事件之间。 仅适用于ACTION_MOVE事件。
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. |
float getHistoricalPressure (int pointerIndex, int pos)
根据getPressure(int)
,返回此事件与给定指针的上一个事件之间发生的历史压力坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalPressure (int pos)
getHistoricalPressure(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
float getHistoricalSize (int pos)
getHistoricalSize(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
也可以看看:
float getHistoricalSize (int pointerIndex, int pos)
按照getSize(int)
,返回此事件与给定指针的上一个事件之间发生的历史大小坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalToolMajor (int pos)
getHistoricalToolMajor(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
float getHistoricalToolMajor (int pointerIndex, int pos)
按照getToolMajor(int)
,返回此事件与给定指针的上一个事件之间发生的历史工具长轴坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalToolMinor (int pos)
getHistoricalToolMinor(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
float getHistoricalToolMinor (int pointerIndex, int pos)
按照getToolMinor(int)
,返回此事件与给定指针的上一个事件之间发生的历史工具短轴坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalTouchMajor (int pos)
getHistoricalTouchMajor(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
float getHistoricalTouchMajor (int pointerIndex, int pos)
按照getTouchMajor(int)
,返回此事件与给定指针的上一个事件之间发生的历史触摸主轴坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalTouchMinor (int pointerIndex, int pos)
按照getTouchMinor(int)
,返回此事件与给定指针的上一个事件之间发生的历史触摸短轴坐标。 仅适用于ACTION_MOVE事件。
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 |
float getHistoricalTouchMinor (int pos)
getHistoricalTouchMinor(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
float getHistoricalX (int pos)
getHistoricalX(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
也可以看看:
float getHistoricalX (int pointerIndex, int pos)
按照getX(int)
,返回此事件与给定指针的上一个事件之间发生的历史X坐标。 仅适用于ACTION_MOVE事件。
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 |
也可以看看:
float getHistoricalY (int pos)
getHistoricalY(int, int)
为第一个指针索引(可能是一个任意的指针标识符)。
Parameters | |
---|---|
pos |
int : Which historical value to return; must be less than getHistorySize() |
Returns | |
---|---|
float |
也可以看看:
float getHistoricalY (int pointerIndex, int pos)
按照getY(int)
,返回此事件与给定指针的上一个事件之间发生的历史Y坐标。 仅适用于ACTION_MOVE事件。
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 |
也可以看看:
int getHistorySize ()
返回此事件中的历史点数。 这是本次事件与上一次事件之间发生的移动。 这仅适用于ACTION_MOVE事件 - 所有其他操作的大小都为0。
Returns | |
---|---|
int |
Returns the number of historical points in the event. |
int getMetaState ()
返回生成事件时有效的元/键的状态。 这与KeyEvent.getMetaState
返回的值相同。
Returns | |
---|---|
int |
an integer in which each bit set to 1 represents a pressed meta key |
也可以看看:
float getOrientation ()
getOrientation(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getOrientation (int pointerIndex)
对于给定的指针索引,返回触摸区域和工具区域的垂直方向的顺时针方向(使用getPointerId(int)
查找此索引的指针标识符)。 0弧度的角度表示接触的主轴向上,完全是圆形的或者未知的定向。 正角表示接触的主轴朝向右侧。 负角度表示接触的主轴朝向左侧。 全范围是从-PI / 2弧度(手指完全向左)到PI / 2弧度(手指完全向右)。
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 |
也可以看看:
void getPointerCoords (int pointerIndex, MotionEvent.PointerCoords outPointerCoords)
使用指定指针索引的指针坐标数据填充 MotionEvent.PointerCoords
对象。
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. |
也可以看看:
int getPointerId (int pointerIndex)
在此事件中返回与特定指针数据索引关联的指针标识符。 该标识符告诉你与数据相关联的实际指针数量,从当前手势开始起就考虑到单个指针上下移动。
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 |
void getPointerProperties (int pointerIndex, MotionEvent.PointerProperties outPointerProperties)
使用指定指针索引的指针属性填充 MotionEvent.PointerProperties
对象。
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. |
float getPressure (int pointerIndex)
返回给定指针索引的此事件的当前压力(使用getPointerId(int)
查找此索引的指针标识符)。 压力通常从0(完全无压力)到1(常压)范围内,然而取决于输入设备的校准,可能会产生高于1的值。
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 |
也可以看看:
float getPressure ()
getPressure(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getRawX ()
返回此事件的原始X坐标。 对于屏幕上的触摸事件,这是事件在屏幕上的原始位置,在它已被调整为包含窗口和视图之前。
Returns | |
---|---|
float |
float getRawY ()
返回此事件的原始Y坐标。 对于屏幕上的触摸事件,这是事件在屏幕上的原始位置,在它已被调整为包含窗口和视图之前。
Returns | |
---|---|
float |
float getSize (int pointerIndex)
返回给定指针索引的近似大小的缩放值(使用getPointerId(int)
查找此索引的指针标识符)。 这代表了正在按下的屏幕区域的一些近似值; 与触摸相对应的像素的实际值用设备特定的值范围进行归一化,并缩放为介于0和1之间的值。可以使用大小的值来确定胖触摸事件。
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 |
也可以看看:
float getSize ()
getSize(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
int getSource ()
获取事件的来源。
Returns | |
---|---|
int |
The event source or SOURCE_UNKNOWN if unknown. |
float getToolMajor (int pointerIndex)
返回描述给定指针索引的接近工具大小的椭圆的长轴长度(使用getPointerId(int)
查找此索引的指针标识符)。 工具区域表示与接触点处的实际触摸区域无关的接触设备的手指或笔的估计大小。
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 |
也可以看看:
float getToolMajor ()
getToolMajor(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getToolMinor ()
getToolMinor(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getToolMinor (int pointerIndex)
返回描述给定指针索引的接近工具大小的椭圆的短轴长度(使用getPointerId(int)
查找此索引的指针标识符)。 工具区域表示与接触点处的实际触摸区域无关的接触设备的手指或笔的估计大小。
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 |
也可以看看:
int getToolType (int pointerIndex)
获取给定指针索引的指针的工具类型。 工具类型指示用于进行接触的工具类型,如手指或触控笔(如果已知)。
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. |
float getTouchMajor ()
getTouchMajor(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getTouchMajor (int pointerIndex)
返回描述给定指针 索引的接触点触摸区域的椭圆的长轴长度(使用 getPointerId(int)
查找此索引的指针标识符)。
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 |
也可以看看:
float getTouchMinor (int pointerIndex)
返回描述给定指针 索引的接触点触摸区域的椭圆的短轴长度(使用 getPointerId(int)
查找此索引的指针标识符)。
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 |
也可以看看:
float getTouchMinor ()
getTouchMinor(int)
为第一个指针索引(可能是一个任意的指针标识符)。
Returns | |
---|---|
float |
也可以看看:
float getX (int pointerIndex)
返回给定指针索引的此事件的X坐标(使用getPointerId(int)
查找此索引的指针标识符)。 整数是像素; 该值对于子像素精确的输入设备可能有一小部分。
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 |
也可以看看:
float getXPrecision ()
返回正在报告的X坐标的精度。 您可以将此数字乘以getX()
以查找X坐标的实际硬件值。
Returns | |
---|---|
float |
Returns the precision of X coordinates being reported. |
也可以看看:
float getY (int pointerIndex)
返回给定指针索引的此事件的Y坐标(使用getPointerId(int)
查找此索引的指针标识符)。 整数是像素; 该值对于子像素精确的输入设备可能有一小部分。
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 |
也可以看看:
float getYPrecision ()
返回正在报告的Y坐标的精度。 您可以将此数字乘以getY()
以查找Y坐标的实际硬件值。
Returns | |
---|---|
float |
Returns the precision of Y coordinates being reported. |
也可以看看:
boolean isButtonPressed (int button)
检查是否按下了鼠标或手写笔按钮(或按钮组合)。
Parameters | |
---|---|
button |
int : Button (or combination of buttons). |
Returns | |
---|---|
boolean |
True if specified buttons are pressed. |
MotionEvent obtain (long downTime, long eventTime, int action, float x, float y, int metaState)
创建一个新的MotionEvent,填充基本运动值的子集。 这些未在此处指定的是:设备ID(始终为0),压力和大小(始终为1),x和y精度(始终为1)和edgeFlags(始终为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 uptimeMillis() . |
eventTime |
long : The the time (in ms) when this specific event was generated. This must be obtained from 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 |
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)
此方法在API级别9中已弃用。
改为使用obtain(long, long, int, float, float, float, float, int, float, float, int, int)
。
创建一个新的MotionEvent,填入定义运动的所有基本值。
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 uptimeMillis() . |
eventTime |
long : The the time (in ms) when this specific event was generated. This must be obtained from 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 |
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)
此方法在API级别14中已弃用。
改为使用obtain(long, long, int, int, PointerProperties[], PointerCoords[], int, int, float, float, int, int, int, int)
。
创建一个新的MotionEvent,填入定义运动的所有基本值。
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 uptimeMillis() . |
eventTime |
long : The the time (in ms) when this specific event was generated. This must be obtained from 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 MotionEvent.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 |
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)
创建一个新的MotionEvent,填入定义运动的所有基本值。
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 uptimeMillis() . |
eventTime |
long : The the time (in ms) when this specific event was generated. This must be obtained from 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 MotionEvent.PointerProperties property object for each pointer, which must include the pointer identifier. |
pointerCoords |
PointerCoords : An array of pointerCount values providing a MotionEvent.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 |
MotionEvent obtain (MotionEvent other)
创建一个新的MotionEvent,从现有的复制。
Parameters | |
---|---|
other |
MotionEvent
|
Returns | |
---|---|
MotionEvent |
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)
创建一个新的MotionEvent,填入定义运动的所有基本值。
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 uptimeMillis() . |
eventTime |
long : The the time (in ms) when this specific event was generated. This must be obtained from 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 |
MotionEvent obtainNoHistory (MotionEvent other)
创建一个新的MotionEvent,从现有的MotionEvent进行复制,但不包含任何历史点信息。
Parameters | |
---|---|
other |
MotionEvent
|
Returns | |
---|---|
MotionEvent |
void offsetLocation (float deltaX, float deltaY)
调整此事件的位置。
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. |
void setEdgeFlags (int flags)
设置指示哪个边缘(如果有)被此MotionEvent触摸的位域。
Parameters | |
---|---|
flags |
int
|
也可以看看:
void setLocation (float x, float y)
设置此事件的位置。 将从当前位置到指定新位置的增量应用于offsetLocation(float, float)
。
Parameters | |
---|---|
x |
float : New absolute X location. |
y |
float : New absolute Y location. |
void setSource (int source)
修改事件的来源。
Parameters | |
---|---|
source |
int : The new source. |
String toString ()
返回对象的字符串表示形式。 一般来说, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void transform (Matrix matrix)
将变换矩阵应用于事件中的所有点。
Parameters | |
---|---|
matrix |
Matrix : The transformation matrix to apply. |
void writeToParcel (Parcel out, int flags)
将此对象平铺到一个包裹中。
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_WRITE_RETURN_VALUE . |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize
可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定的对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对某个对象调用了 finalize
方法之后,在Java虚拟机再次确定没有任何方法可以通过任何尚未死亡的线程访问此对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致终止此对象的终止,但会被忽略。
Throws | |
---|---|
Throwable |