鸿蒙OS VelocityDetector
VelocityDetector
java.lang.Object
|---ohos.agp.components.VelocityDetector
public final class VelocityDetector
extends Object
用于检测触摸事件速度的助手,用于实现投掷和其他类似手势。
Since:
3
嵌套类摘要
修饰符和类型 | 类 | 描述 |
---|---|---|
protected static class | VelocityDetector.VelocityDetectorCleaner | 释放原生 Style 对象的回调。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | addEvent(TouchEvent event) | 将用户的移动添加到检测器。 |
void | calculateCurrentVelocity(int units) | 根据已收集的点计算当前速度。 |
void | calculateCurrentVelocity(int units, float maxVxVelocity, float maxVyVelocity) | 根据已收集的点计算当前速度,并指定计算的 X 和 Y 速度的上限。 |
void | clear() | 将 VelocityDetector 实例重置为初始状态。 |
float | getHorizontalVelocity() | 获取最近计算的 X 速度。 |
float[] | getVelocity() | 获取最近计算的速度。 |
float | getVerticalVelocity() | 获取最近计算的 Y 速度。 |
static VelocityDetector | obtainInstance() | 获取一个新的 VelocityDetector 实例来检测运动的速度。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详情
obtainInstance
public static VelocityDetector obtainInstance()
获取一个新的 VelocityDetector 实例来检测运动的速度。
返回:
返回 VelocityDetector 实例。
Since:
4
clear
public void clear()
将 VelocityDetector 实例重置为初始状态。
addEvent
public void addEvent(TouchEvent event)
将用户的移动添加到检测器。
您可以调用此方法来检测任何运动。
参数:
参数名称 | 参数描述 |
---|---|
event | 表示您要检测的事件,它是一个 TouchEvent 实例。 |
Since:
4
calculateCurrentVelocity
public void calculateCurrentVelocity(int units)
根据已收集的点计算当前速度。
计算完成后,您可以使用 getHorizontalVelocity() 和 getVerticalVelocity() 来检索速度结果。
参数:
参数名称 | 参数描述 |
---|---|
units | 指示速度结果的单位。 值 1 表示每秒像素数,1000 表示每秒像素数,依此类推。 |
calculateCurrentVelocity
public void calculateCurrentVelocity(int units, float maxVxVelocity, float maxVyVelocity)
根据已收集的点计算当前速度,并指定计算的 X 和 Y 速度的上限。
计算完成后,您可以使用 getHorizontalVelocity() 和 getVerticalVelocity() 来检索速度结果。
参数:
参数名称 | 参数描述 |
---|---|
units | 表示速度结果。 值 1 表示每秒像素数,1000 表示每秒像素数,依此类推。 |
maxVxVelocity | 指示最大 X 速度。 |
maxVyVelocity | 指示最大 Y 速度。 |
getHorizontalVelocity
public float getHorizontalVelocity()
获取最近计算的 X 速度。
在调用此函数之前,您必须先调用 calculateCurrentVelocity(int)。
返回:
返回最近计算的 X 速度。
Since:
4
getVerticalVelocity
public float getVerticalVelocity()
获取最近计算的 Y 速度。
在调用此函数之前,您必须调用 calculateCurrentVelocity(int)。
返回:
返回最近计算的 Y 速度。
Since:
4
getVelocity
public float[] getVelocity()
获取最近计算的速度。
在调用此方法之前,您必须调用 calculateCurrentVelocity(int)。
返回:
返回最近计算的速度。
Since:
4