Most visited

Recently visited

Added in API level 1

VelocityTracker

public final class VelocityTracker
extends Object

java.lang.Object
   ↳ android.view.VelocityTracker


助手用于跟踪触摸事件的速度,用于实现投掷和其他手势。 当您要开始跟踪时,请使用obtain()检索课程的新实例。 将您收到的动作事件放入addMovement(MotionEvent) 当你想确定速度调用computeCurrentVelocity(int) ,然后调用getXVelocity(int)getYVelocity(int)来检索每个指针ID的速度。

Summary

Public methods

void addMovement(MotionEvent event)

将用户的移动添加到跟踪器。

void clear()

将速度追踪器重置回初始状态。

void computeCurrentVelocity(int units)

相当于调用 computeCurrentVelocity(int, float)与Float.MAX_VALUE的最大速度。

void computeCurrentVelocity(int units, float maxVelocity)

根据已收集的点计算当前速度。

float getXVelocity(int id)

检索上次计算的X速度。

float getXVelocity()

检索上次计算的X速度。

float getYVelocity()

检索上次计算的Y速度。

float getYVelocity(int id)

检索上次计算的Y速度。

static VelocityTracker obtain()

检索一个新的VelocityTracker对象来观察运动的速度。

void recycle()

返回VelocityTracker对象以供其他人重新使用。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class java.lang.Object

Public methods

addMovement

Added in API level 1
void addMovement (MotionEvent event)

将用户的移动添加到跟踪器。 您应该为此初始化ACTION_DOWN ,以下ACTION_MOVE事件和最终的ACTION_UP 但是,您可以将其称为您希望的任何事件。

Parameters
event MotionEvent: The MotionEvent you received and would like to track.

clear

Added in API level 1
void clear ()

将速度追踪器重置回初始状态。

computeCurrentVelocity

Added in API level 1
void computeCurrentVelocity (int units)

相当于调用 computeCurrentVelocity(int, float)与Float.MAX_VALUE的最大速度。

Parameters
units int

也可以看看:

computeCurrentVelocity

Added in API level 4
void computeCurrentVelocity (int units, 
                float maxVelocity)

根据已收集的点计算当前速度。 只有在您实际想要检索速度信息时才调用它,因为它相对昂贵。 然后您可以使用getXVelocity()getYVelocity()检索速度。

Parameters
units int: The units you would like the velocity in. A value of 1 provides pixels per millisecond, 1000 provides pixels per second, etc.
maxVelocity float: The maximum velocity that can be computed by this method. This value must be declared in the same unit as the units parameter. This value must be positive.

getXVelocity

Added in API level 8
float getXVelocity (int id)

检索上次计算的X速度。 在调用此函数之前,您必须先调用computeCurrentVelocity(int)

Parameters
id int: Which pointer's velocity to return.
Returns
float The previously computed X velocity.

getXVelocity

Added in API level 1
float getXVelocity ()

检索上次计算的X速度。 在调用此函数之前,您必须先调用computeCurrentVelocity(int)

Returns
float The previously computed X velocity.

getYVelocity

Added in API level 1
float getYVelocity ()

检索上次计算的Y速度。 在调用此函数之前,您必须先调用computeCurrentVelocity(int)

Returns
float The previously computed Y velocity.

getYVelocity

Added in API level 8
float getYVelocity (int id)

检索上次计算的Y速度。 在调用此函数之前,您必须先调用computeCurrentVelocity(int)

Parameters
id int: Which pointer's velocity to return.
Returns
float The previously computed Y velocity.

obtain

Added in API level 1
VelocityTracker obtain ()

检索一个新的VelocityTracker对象来观察运动的速度。 完成后请务必致电recycle() 通常应该只在跟踪移动时维护一个活动对象,以便VelocityTracker可以在其他地方重新使用。

Returns
VelocityTracker Returns a new VelocityTracker.

recycle

Added in API level 1
void recycle ()

返回VelocityTracker对象以供其他人重新使用。 调用此函数后,请勿触摸对象。

Protected methods

finalize

Added in API level 1
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize的通常目的是在对象不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在针对某个对象调用了 finalize方法之后,在Java虚拟机再次确定不再有任何途径可以通过任何还没有死亡的线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但会被忽略。

Throws
Throwable

Hooray!