鸿蒙OS ManipulationEvent
ManipulationEvent
java.lang.Object
|---ohos.multimodalinput.event.MultimodalEvent
|---|---ohos.multimodalinput.event.ManipulationEvent
public abstract class ManipulationEvent
extends MultimodalEvent
报告操纵事件。
ManipulationEvent 定义并抽象了所有操作事件,例如手指触摸事件。 这样的事件携带包括事件位置和阶段的信息。 一般将事件作为回调的输入来捕获和处理事件。 回调将一个动作分为三个阶段:开始、操作和结束。 例如,对于单指触摸,开始表示手指触摸屏幕,操作表示手指在屏幕上移动,结束表示手指从屏幕上抬起。
Since:
1
嵌套类摘要
从接口 ohos.utils.Sequenceable 继承的嵌套类/接口 |
---|
Sequenceable.ProducerT |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static int | PHASE_CANCEL | 表示操作已被取消。 |
static int | PHASE_COMPLETED | 表示动作已经结束。 |
static int | PHASE_MOVE | 表示操作正在进行中。 |
static int | PHASE_NONE | 表示无效操作。 |
static int | PHASE_START | 表示动作已经开始。 |
从类 ohos.multimodalinput.event.MultimodalEvent 继承的字段 |
---|
BUILTIN_KEY, DEFAULT_TYPE, highLevelEvent, KEYBOARD, MOUSE, ROTATION, SPEECH, STYLUS, TOUCH_PANEL, UNSUPPORTED_DEVICE, uuid |
构造函数摘要
构造函数 | 描述 |
---|---|
ManipulationEvent() |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
abstract float | getForce(int index) | 获取指定索引的手指的触摸压力。 |
abstract int | getPhase() | 获取事件的运行阶段。 |
abstract int | getPointerCount() | 获取事件中触控或轨迹跟踪的指针数量。 |
abstract int | getPointerId(int index) | 获取事件中指针的唯一 ID。 |
abstract MmiPoint | getPointerPosition(int index) | 获取事件中触摸控制或轨迹跟踪时指针索引相对于偏移位置的x和y坐标。 |
abstract MmiPoint | getPointerScreenPosition(int index) | 获取事件中触摸控制或轨迹跟踪时指针索引相对于屏幕坐标原点的x和y坐标。 |
abstract float | getRadius(int index) | 获取指定索引的手指的触摸半径。 |
abstract long | getStartTime() | 获取操作开始阶段的时间(以毫秒为单位)。 |
abstract void | setScreenOffset(float offsetX, float offsetY) | 设置相对于屏幕的偏移位置。 |
从类 ohos.multimodalinput.event.MultimodalEvent 继承的方法 |
---|
getDeviceId, getInputDeviceId, getOccurredTime, getSourceDevice, getUuid, isSameEvent, marshalling, unmarshalling |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 ohos.utils.Sequenceable 继承的方法 |
---|
hasFileDescriptor |
字段详细信息
PHASE_CANCEL
public static final int PHASE_CANCEL
表示操作已被取消。 一个动作被取消后视为结束。
Since:
1
PHASE_COMPLETED
public static final int PHASE_COMPLETED
表示动作已经结束。
Since:
1
PHASE_MOVE
public static final int PHASE_MOVE
表示操作正在进行中。
Since:
1
PHASE_NONE
public static final int PHASE_NONE
表示无效操作。
Since:
1
PHASE_START
public static final int PHASE_START
表示动作已经开始。
Since:
1
构造函数详细信息
ManipulationEvent
public ManipulationEvent()
方法详情
getStartTime
public abstract long getStartTime()
获取操作开始阶段的时间(以毫秒为单位)。
返回:
返回操作开始阶段的时间(以毫秒为单位)。
Since:
1
getPhase
public abstract int getPhase()
获取事件的运行阶段。
操作阶段可以是 PHASE_NONE、PHASE_START、PHASE_MOVE、PHASE_COMPLETED 或 PHASE_CANCEL。
返回:
返回事件的操作阶段。 返回值可以是 PHASE_NONE、PHASE_START、PHASE_MOVE、PHASE_COMPLETED 或 PHASE_CANCEL。
Since:
1
getPointerPosition
public abstract MmiPoint getPointerPosition(int index)
获取事件中触摸控制或轨迹跟踪时指针索引相对于偏移位置的x和y坐标。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示指针索引映射到事件中的指针动作。 取值范围从 0 到 getPointerCount()-1。 对于鼠标和触控笔,仅支持单个指针操作。 获取位置信息后,指针索引设置为0。 |
返回:
返回指针索引的 x 和 y 坐标。 如果已指定控件的位置,则返回相对于控件的 x 和 y 坐标。 如果尚未指定控件的位置,则返回相对于屏幕的 x 和 y 坐标。
Since:
1
setScreenOffset
public abstract void setScreenOffset(float offsetX, float offsetY)
设置相对于屏幕的偏移位置。
参数:
参数名称 | 参数描述 |
---|---|
offsetX | 表示相对于屏幕左上角 x 的偏移量。 |
offsetY | 表示相对于屏幕左上角 y 的偏移量。 |
Since:
1
getPointerScreenPosition
public abstract MmiPoint getPointerScreenPosition(int index)
获取事件中触摸控制或轨迹跟踪时指针索引相对于屏幕坐标原点的x和y坐标。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示指针索引映射到事件中的指针ID。 取值范围从 0 到 getPointerCount()-1。 对于鼠标和触控笔,仅支持单个指针操作。 获取指针 ID 后,指针索引设置为 0。 |
返回:
返回指针索引相对于屏幕的 x 和 y 坐标。
Since:
1
getPointerCount
public abstract int getPointerCount()
获取事件中触控或轨迹跟踪的指针数量。
返回:
返回事件中用于触摸控制或轨迹跟踪的指针数。
Since:
1
getPointerId
public abstract int getPointerId(int index)
获取事件中指针的唯一 ID。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示指针索引映射到事件中的指针ID。 取值范围从 0 到 getPointerCount()-1。 对于鼠标和触控笔,仅支持单个指针操作。 获取指针 ID 后,指针索引设置为 0。 |
返回:
返回事件中指针的唯一 ID。
Since:
1
getForce
public abstract float getForce(int index)
获取指定索引的手指的触摸压力。
手指的触摸压力一般在0到1.0之间。 根据输入设备的校准,有时可能会生成大于 1 的值。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示触摸手指的索引。 取值范围从 0 到 getPointerCount()-1。 可以根据其唯一ID获取当前事件中触摸手指的位置。 对于鼠标和触控笔动作事件,仅支持单个指针动作。 获取压力信息时,索引设置为0。对于鼠标动作事件,左键按下时的触摸压力为1.0,其他情况下为0。 |
返回:
返回触摸压力。
Since:
1
getRadius
public abstract float getRadius(int index)
获取指定索引的手指的触摸半径。
触摸半径表示手指在屏幕上触摸的区域。
参数:
参数名称 | 参数描述 |
---|---|
index | 指示触摸手指的索引。 取值范围从 0 到 getPointerCount()-1。 可以根据其唯一ID获取当前事件中触摸手指的位置。 对于鼠标和触控笔动作事件,仅支持单个指针动作。 获取屏幕大小时,索引设置为0。对于鼠标动作事件,触摸半径有一个固定值0。 |
返回:
返回具有指定索引的手指的触摸半径。
Since:
1