鴻蒙OS ManipulationEvent

2022-10-14 10:55 更新

ManipulationEvent

java.lang.Object

|---ohos.multimodalinput.event.MultimodalEvent

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

public abstract class ManipulationEvent
extends MultimodalEvent

報告操縱事件。

ManipulationEvent 定義并抽象了所有操作事件,例如手指觸摸事件。 這樣的事件攜帶包括事件位置和階段的信息。 一般將事件作為回調(diào)的輸入來捕獲和處理事件。 回調(diào)將一個動作分為三個階段:開始、操作和結(jié)束。 例如,對于單指觸摸,開始表示手指觸摸屏幕,操作表示手指在屏幕上移動,結(jié)束表示手指從屏幕上抬起。

Since:

1

嵌套類摘要

從接口 ohos.utils.Sequenceable 繼承的嵌套類/接口
Sequenceable.ProducerT

字段摘要

修飾符和類型 字段 描述
static int PHASE_CANCEL 表示操作已被取消。
static int PHASE_COMPLETED 表示動作已經(jīng)結(jié)束。
static int PHASE_MOVE 表示操作正在進行中。
static int PHASE_NONE 表示無效操作。
static int PHASE_START 表示動作已經(jīng)開始。
從類 ohos.multimodalinput.event.MultimodalEvent 繼承的字段
BUILTIN_KEY, DEFAULT_TYPE, highLevelEvent, KEYBOARD, MOUSE, ROTATION, SPEECH, STYLUS, TOUCH_PANEL, UNSUPPORTED_DEVICE, uuid

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ManipulationEvent()

方法總結(jié)

修飾符和類型 方法 描述
abstract float getForce(int index) 獲取指定索引的手指的觸摸壓力。
abstract int getPhase() 獲取事件的運行階段。
abstract int getPointerCount() 獲取事件中觸控或軌跡跟蹤的指針數(shù)量。
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) 設(shè)置相對于屏幕的偏移位置。
從類 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

表示操作已被取消。 一個動作被取消后視為結(jié)束。

Since:

1

PHASE_COMPLETED

public static final int PHASE_COMPLETED

表示動作已經(jīng)結(jié)束。

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

表示動作已經(jīng)開始。

Since:

1

構(gòu)造函數(shù)詳細信息

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坐標。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示指針索引映射到事件中的指針動作。 取值范圍從 0 到 getPointerCount()-1。 對于鼠標和觸控筆,僅支持單個指針操作。 獲取位置信息后,指針索引設(shè)置為0。

返回:

返回指針索引的 x 和 y 坐標。 如果已指定控件的位置,則返回相對于控件的 x 和 y 坐標。 如果尚未指定控件的位置,則返回相對于屏幕的 x 和 y 坐標。

Since:

1

setScreenOffset

public abstract void setScreenOffset(float offsetX, float offsetY)

設(shè)置相對于屏幕的偏移位置。

參數(shù):

參數(shù)名稱 參數(shù)描述
offsetX 表示相對于屏幕左上角 x 的偏移量。
offsetY 表示相對于屏幕左上角 y 的偏移量。

Since:

1

getPointerScreenPosition

public abstract MmiPoint getPointerScreenPosition(int index)

獲取事件中觸摸控制或軌跡跟蹤時指針索引相對于屏幕坐標原點的x和y坐標。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示指針索引映射到事件中的指針I(yè)D。 取值范圍從 0 到 getPointerCount()-1。 對于鼠標和觸控筆,僅支持單個指針操作。 獲取指針 ID 后,指針索引設(shè)置為 0。

返回:

返回指針索引相對于屏幕的 x 和 y 坐標。

Since:

1

getPointerCount

public abstract int getPointerCount()

獲取事件中觸控或軌跡跟蹤的指針數(shù)量。

返回:

返回事件中用于觸摸控制或軌跡跟蹤的指針數(shù)。

Since:

1

getPointerId

public abstract int getPointerId(int index)

獲取事件中指針的唯一 ID。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示指針索引映射到事件中的指針I(yè)D。 取值范圍從 0 到 getPointerCount()-1。 對于鼠標和觸控筆,僅支持單個指針操作。 獲取指針 ID 后,指針索引設(shè)置為 0。

返回:

返回事件中指針的唯一 ID。

Since:

1

getForce

public abstract float getForce(int index)

獲取指定索引的手指的觸摸壓力。

手指的觸摸壓力一般在0到1.0之間。 根據(jù)輸入設(shè)備的校準,有時可能會生成大于 1 的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示觸摸手指的索引。 取值范圍從 0 到 getPointerCount()-1。 可以根據(jù)其唯一ID獲取當前事件中觸摸手指的位置。 對于鼠標和觸控筆動作事件,僅支持單個指針動作。 獲取壓力信息時,索引設(shè)置為0。對于鼠標動作事件,左鍵按下時的觸摸壓力為1.0,其他情況下為0。

返回:

返回觸摸壓力。

Since:

1

getRadius

public abstract float getRadius(int index)

獲取指定索引的手指的觸摸半徑。

觸摸半徑表示手指在屏幕上觸摸的區(qū)域。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 指示觸摸手指的索引。 取值范圍從 0 到 getPointerCount()-1。 可以根據(jù)其唯一ID獲取當前事件中觸摸手指的位置。 對于鼠標和觸控筆動作事件,僅支持單個指針動作。 獲取屏幕大小時,索引設(shè)置為0。對于鼠標動作事件,觸摸半徑有一個固定值0。

返回:

返回具有指定索引的手指的觸摸半徑。

Since:

1

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號