阅读(4038) (13)

鸿蒙OS TouchEvent

2022-10-13 11:16:31 更新

TouchEvent

java.lang.Object

|---ohos.multimodalinput.event.MultimodalEvent

|---|---ohos.multimodalinput.event.ManipulationEvent

|---|---|---ohos.multimodalinput.event.TouchEvent

public abstract class TouchEvent
extends ManipulationEvent

定义触摸事件和映射的标准事件。

触摸事件的信息包括多指触摸时的手指位置、触摸压力和触摸半径。 标准事件用于指示用户意图。 它的定义与输入设备类型无关。 系统将另一种输入的基本交互事件映射到触摸输入的标准交互事件。 映射如下: 对于基本的鼠标交互事件:

  • 单击并按住鼠标左键映射为用手指在指针位置触摸屏幕,如 PRIMARY_POINT_DOWN 中所述。
  • 单击并按住鼠标左键,然后移动指针映射为触摸屏幕并在屏幕上移动手指,如 POINT_MOVE 中所述。
  • 如PRIMARY_POINT_UP 中所述,释放鼠标左键可将手指从屏幕上抬起。

注意:触摸屏没有悬停指针状态。 因此,如果在没有按下任何按钮的情况下移动鼠标,则不会将交互事件映射到触摸屏。 为了映射到这个鼠标输入事件,这个类定义了指针的悬停状态,例如 HOVER_POINTER_ENTER、HOVER_POINTER_MOVE 和 HOVER_POINTER_EXIT。 对于基本的触控笔交互事件:

  • 用手写笔笔尖触摸屏幕映射为用手指触摸屏幕,如 PRIMARY_POINT_DOWN 中所述。
  • 用触控笔笔尖触摸屏幕然后在屏幕上移动映射为触摸屏幕并在屏幕上移动手指,如 POINT_MOVE 中所述。
  • 如 PRIMARY_POINT_UP 中所述,从屏幕上抬起触控笔映射为从屏幕上抬起手指。

Since:

1

嵌套类摘要

从接口 ohos.utils.Sequenceable 继承的嵌套类/接口
Sequenceable.ProducerT

字段摘要

修饰符和类型 字段 描述
static int CANCEL 表示事件被中断或取消。
static int HOVER_POINTER_ENTER 表示悬停指针进入窗口或组件。
static int HOVER_POINTER_EXIT 指示悬停指针离开窗口或组件。
static int HOVER_POINTER_MOVE 指示悬停指针在窗口或组件中移动。
static int NONE 表示没有触摸活动。
static int OTHER_POINT_DOWN 表示当一个或多个手指已经触摸屏幕时,另一个手指触摸屏幕。
static int OTHER_POINT_UP 表示一些手指从屏幕上抬起,而一些手指仍留在屏幕上。
static int POINT_MOVE 表示手指在屏幕上移动。
static int PRIMARY_POINT_DOWN 表示第一根手指触摸屏幕。
static int PRIMARY_POINT_UP 表示最后一根手指从屏幕上抬起。
从类 ohos.multimodalinput.event.ManipulationEvent 继承的字段
PHASE_CANCEL, PHASE_COMPLETED, PHASE_MOVE, PHASE_NONE, PHASE_START
从类 ohos.multimodalinput.event.MultimodalEvent 继承的字段
BUILTIN_KEY, DEFAULT_TYPE, highLevelEvent, KEYBOARD, MOUSE, ROTATION, SPEECH, STYLUS, TOUCH_PANEL, UNSUPPORTED_DEVICE, uuid

构造函数摘要

构造函数 描述
TouchEvent()

方法总结

修饰符和类型 方法 描述
abstract int getAction() 获取当前指针动作状态。
abstract int getIndex() 获取指针动作的索引。
MultimodalEvent getMultimodalEvent() 获取已映射到标准交互事件的原始多模式输入事件。
从类 ohos.multimodalinput.event.ManipulationEvent 继承的方法
getForce, getPhase, getPointerCount, getPointerId, getPointerPosition, getPointerScreenPosition, getRadius, getStartTime, setScreenOffset
从类 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

字段详细信息

CANCEL

public static final int CANCEL

表示事件被中断或取消。

Since:

3

HOVER_POINTER_ENTER

public static final int HOVER_POINTER_ENTER

表示悬停指针进入窗口或组件。

Since:

5

HOVER_POINTER_EXIT

public static final int HOVER_POINTER_EXIT

指示悬停指针离开窗口或组件。

Since:

5

HOVER_POINTER_MOVE

public static final int HOVER_POINTER_MOVE

指示悬停指针在窗口或组件中移动。

Since:

5

NONE

public static final int NONE

表示没有触摸活动。

Since:

1

OTHER_POINT_DOWN

public static final int OTHER_POINT_DOWN

表示当一个或多个手指已经触摸屏幕时,另一个手指触摸屏幕。

Since:

1

OTHER_POINT_UP

public static final int OTHER_POINT_UP

表示一些手指从屏幕上抬起,而一些手指仍留在屏幕上。

Since:

1

POINT_MOVE

public static final int POINT_MOVE

表示手指在屏幕上移动。

Since:

1

PRIMARY_POINT_DOWN

public static final int PRIMARY_POINT_DOWN

表示第一根手指触摸屏幕。 这表明交互的开始。

Since:

1

PRIMARY_POINT_UP

public static final int PRIMARY_POINT_UP

表示最后一根手指从屏幕上抬起。 这表示交互的结束。

Since:

1

构造函数详细信息

TouchEvent

public TouchEvent()

方法详情

getMultimodalEvent

public MultimodalEvent getMultimodalEvent()

获取已映射到标准交互事件的原始多模式输入事件。

原始多模输入事件映射到标准交互事件后,调用该方法即可获取原始事件。 例如,鼠标事件映射到触摸事件后,该方法返回鼠标事件。

返回:

返回原始事件。

Since:

5

getAction

public abstract int getAction()

获取当前指针动作状态。

返回:

返回当前指针动作状态。 返回值可以是 PRIMARY_POINT_DOWN、PRIMARY_POINT_UP、POINT_MOVE、OTHER_POINT_DOWN 或 OTHER_POINT_UP。

Since:

1

getIndex

public abstract int getIndex()

获取指针动作的索引。

该方法获取指针动作的指针索引,例如OTHER_POINT_DOWN或OTHER_POINT_UP。 根据该指标,您可以获得触摸压力和触摸半径等信息。

返回:

返回指针动作的索引,范围从 0 到 ManipulationEvent#getPointerCount()-1。

Since:

1