鴻蒙OS TouchEvent

2022-10-17 09:32 更新

TouchEvent

java.lang.Object

|---ohos.multimodalinput.event.MultimodalEvent

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

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

public abstract class TouchEvent
extends ManipulationEvent

定義觸摸事件和映射的標(biāo)準(zhǔn)事件。

觸摸事件的信息包括多指觸摸時(shí)的手指位置、觸摸壓力和觸摸半徑。 標(biāo)準(zhǔn)事件用于指示用戶意圖。 它的定義與輸入設(shè)備類型無(wú)關(guān)。 系統(tǒng)將另一種輸入的基本交互事件映射到觸摸輸入的標(biāo)準(zhǔn)交互事件。 映射如下: 對(duì)于基本的鼠標(biāo)交互事件:

  • 單擊并按住鼠標(biāo)左鍵映射為用手指在指針位置觸摸屏幕,如 PRIMARY_POINT_DOWN 中所述。
  • 單擊并按住鼠標(biāo)左鍵,然后移動(dòng)指針映射為觸摸屏幕并在屏幕上移動(dòng)手指,如 POINT_MOVE 中所述。
  • 如PRIMARY_POINT_UP 中所述,釋放鼠標(biāo)左鍵可將手指從屏幕上抬起。

注意:觸摸屏沒(méi)有懸停指針狀態(tài)。 因此,如果在沒(méi)有按下任何按鈕的情況下移動(dòng)鼠標(biāo),則不會(huì)將交互事件映射到觸摸屏。 為了映射到這個(gè)鼠標(biāo)輸入事件,這個(gè)類定義了指針的懸停狀態(tài),例如 HOVER_POINTER_ENTER、HOVER_POINTER_MOVE 和 HOVER_POINTER_EXIT。 對(duì)于基本的觸控筆交互事件:

  • 用手寫(xiě)筆筆尖觸摸屏幕映射為用手指觸摸屏幕,如 PRIMARY_POINT_DOWN 中所述。
  • 用觸控筆筆尖觸摸屏幕然后在屏幕上移動(dòng)映射為觸摸屏幕并在屏幕上移動(dòng)手指,如 POINT_MOVE 中所述。
  • 如 PRIMARY_POINT_UP 中所述,從屏幕上抬起觸控筆映射為從屏幕上抬起手指。

Since:

1

嵌套類摘要

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

字段摘要

修飾符和類型 字段 描述
static int CANCEL 表示事件被中斷或取消。
static int HOVER_POINTER_ENTER 表示懸停指針進(jìn)入窗口或組件。
static int HOVER_POINTER_EXIT 指示懸停指針離開(kāi)窗口或組件。
static int HOVER_POINTER_MOVE 指示懸停指針在窗口或組件中移動(dòng)。
static int NONE 表示沒(méi)有觸摸活動(dòng)。
static int OTHER_POINT_DOWN 表示當(dāng)一個(gè)或多個(gè)手指已經(jīng)觸摸屏幕時(shí),另一個(gè)手指觸摸屏幕。
static int OTHER_POINT_UP 表示一些手指從屏幕上抬起,而一些手指仍留在屏幕上。
static int POINT_MOVE 表示手指在屏幕上移動(dòng)。
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

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

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

方法總結(jié)

修飾符和類型 方法 描述
abstract int getAction() 獲取當(dāng)前指針動(dòng)作狀態(tài)。
abstract int getIndex() 獲取指針動(dòng)作的索引。
MultimodalEvent getMultimodalEvent() 獲取已映射到標(biāo)準(zhǔn)交互事件的原始多模式輸入事件。
從類 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

字段詳細(xì)信息

CANCEL

public static final int CANCEL

表示事件被中斷或取消。

Since:

3

HOVER_POINTER_ENTER

public static final int HOVER_POINTER_ENTER

表示懸停指針進(jìn)入窗口或組件。

Since:

5

HOVER_POINTER_EXIT

public static final int HOVER_POINTER_EXIT

指示懸停指針離開(kāi)窗口或組件。

Since:

5

HOVER_POINTER_MOVE

public static final int HOVER_POINTER_MOVE

指示懸停指針在窗口或組件中移動(dòng)。

Since:

5

NONE

public static final int NONE

表示沒(méi)有觸摸活動(dòng)。

Since:

1

OTHER_POINT_DOWN

public static final int OTHER_POINT_DOWN

表示當(dāng)一個(gè)或多個(gè)手指已經(jīng)觸摸屏幕時(shí),另一個(gè)手指觸摸屏幕。

Since:

1

OTHER_POINT_UP

public static final int OTHER_POINT_UP

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

Since:

1

POINT_MOVE

public static final int POINT_MOVE

表示手指在屏幕上移動(dòng)。

Since:

1

PRIMARY_POINT_DOWN

public static final int PRIMARY_POINT_DOWN

表示第一根手指觸摸屏幕。 這表明交互的開(kāi)始。

Since:

1

PRIMARY_POINT_UP

public static final int PRIMARY_POINT_UP

表示最后一根手指從屏幕上抬起。 這表示交互的結(jié)束。

Since:

1

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

TouchEvent

public TouchEvent()

方法詳情

getMultimodalEvent

public MultimodalEvent getMultimodalEvent()

獲取已映射到標(biāo)準(zhǔn)交互事件的原始多模式輸入事件。

原始多模輸入事件映射到標(biāo)準(zhǔn)交互事件后,調(diào)用該方法即可獲取原始事件。 例如,鼠標(biāo)事件映射到觸摸事件后,該方法返回鼠標(biāo)事件。

返回:

返回原始事件。

Since:

5

getAction

public abstract int getAction()

獲取當(dāng)前指針動(dòng)作狀態(tài)。

返回:

返回當(dāng)前指針動(dòng)作狀態(tài)。 返回值可以是 PRIMARY_POINT_DOWN、PRIMARY_POINT_UP、POINT_MOVE、OTHER_POINT_DOWN 或 OTHER_POINT_UP。

Since:

1

getIndex

public abstract int getIndex()

獲取指針動(dòng)作的索引。

該方法獲取指針動(dòng)作的指針?biāo)饕鏞THER_POINT_DOWN或OTHER_POINT_UP。 根據(jù)該指標(biāo),您可以獲得觸摸壓力和觸摸半徑等信息。

返回:

返回指針動(dòng)作的索引,范圍從 0 到 ManipulationEvent#getPointerCount()-1。

Since:

1

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)