鴻蒙OS VelocityDetector

2022-10-09 11:01 更新

VelocityDetector

java.lang.Object

|---ohos.agp.components.VelocityDetector

public final class VelocityDetector
extends Object

用于檢測觸摸事件速度的助手,用于實(shí)現(xiàn)投擲和其他類似手勢。

Since:

3

嵌套類摘要

修飾符和類型 描述
protected static class VelocityDetector.VelocityDetectorCleaner 釋放原生 Style 對象的回調(diào)。

方法總結(jié)

修飾符和類型 方法 描述
void addEvent(TouchEvent event) 將用戶的移動添加到檢測器。
void calculateCurrentVelocity(int units) 根據(jù)已收集的點(diǎn)計(jì)算當(dāng)前速度。
void calculateCurrentVelocity(int units, float maxVxVelocity, float maxVyVelocity) 根據(jù)已收集的點(diǎn)計(jì)算當(dāng)前速度,并指定計(jì)算的 X 和 Y 速度的上限。
void clear() 將 VelocityDetector 實(shí)例重置為初始狀態(tài)。
float getHorizontalVelocity() 獲取最近計(jì)算的 X 速度。
float[] getVelocity() 獲取最近計(jì)算的速度。
float getVerticalVelocity() 獲取最近計(jì)算的 Y 速度。
static VelocityDetector obtainInstance() 獲取一個(gè)新的 VelocityDetector 實(shí)例來檢測運(yùn)動的速度。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

方法詳情

obtainInstance

public static VelocityDetector obtainInstance()

獲取一個(gè)新的 VelocityDetector 實(shí)例來檢測運(yùn)動的速度。

返回:

返回 VelocityDetector 實(shí)例。

Since:

4

clear

public void clear()

將 VelocityDetector 實(shí)例重置為初始狀態(tài)。

addEvent

public void addEvent(TouchEvent event)

將用戶的移動添加到檢測器。

您可以調(diào)用此方法來檢測任何運(yùn)動。

參數(shù):

參數(shù)名稱 參數(shù)描述
event 表示您要檢測的事件,它是一個(gè) TouchEvent 實(shí)例。

Since:

4

calculateCurrentVelocity

public void calculateCurrentVelocity(int units)

根據(jù)已收集的點(diǎn)計(jì)算當(dāng)前速度。

計(jì)算完成后,您可以使用 getHorizontalVelocity() 和 getVerticalVelocity() 來檢索速度結(jié)果。

參數(shù):

參數(shù)名稱 參數(shù)描述
units 指示速度結(jié)果的單位。 值 1 表示每秒像素?cái)?shù),1000 表示每秒像素?cái)?shù),依此類推。

calculateCurrentVelocity

public void calculateCurrentVelocity(int units, float maxVxVelocity, float maxVyVelocity)

根據(jù)已收集的點(diǎn)計(jì)算當(dāng)前速度,并指定計(jì)算的 X 和 Y 速度的上限。

計(jì)算完成后,您可以使用 getHorizontalVelocity() 和 getVerticalVelocity() 來檢索速度結(jié)果。

參數(shù):

參數(shù)名稱 參數(shù)描述
units 表示速度結(jié)果。 值 1 表示每秒像素?cái)?shù),1000 表示每秒像素?cái)?shù),依此類推。
maxVxVelocity 指示最大 X 速度。
maxVyVelocity 指示最大 Y 速度。

getHorizontalVelocity

public float getHorizontalVelocity()

獲取最近計(jì)算的 X 速度。

在調(diào)用此函數(shù)之前,您必須先調(diào)用 calculateCurrentVelocity(int)。

返回:

返回最近計(jì)算的 X 速度。

Since:

4

getVerticalVelocity

public float getVerticalVelocity()

獲取最近計(jì)算的 Y 速度。

在調(diào)用此函數(shù)之前,您必須調(diào)用 calculateCurrentVelocity(int)。

返回:

返回最近計(jì)算的 Y 速度。

Since:

4

getVelocity

public float[] getVelocity()

獲取最近計(jì)算的速度。

在調(diào)用此方法之前,您必須調(diào)用 calculateCurrentVelocity(int)。

返回:

返回最近計(jì)算的速度。

Since:

4

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號