VelocityTracker简单介绍
android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其它gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event添�到VelocityTracker类实例中.你能够使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,可是使用它们之前请先调用computeCurrentVelocity(int)来初始化速率的单位 。
主要函数
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Add a user's movement to the tracker.
|
||||||||||
|
Reset the velocity tracker back to its initial state.
|
||||||||||
|
Compute the current velocity based on the points that have been collected.
int unitis表示速率的基本时间单位。unitis值为1的表示是,一毫秒时间单位内运动了多少个像素, unitis值为1000表示一秒(1000毫秒)时间单位内运动了多少个像素
floatVelocity表示速率的最大值
|
||||||||||
|
Equivalent to invoking
computeCurrentVelocity(int,
float) with a maximum velocity of Float.MAX_VALUE. |
||||||||||
|
|
||||||||||
|
Retrieve the last computed X velocity.
|
||||||||||
|
Retrieve the last computed X velocity.
|
||||||||||
|
Retrieve the last computed Y velocity.
|
||||||||||
|
Retrieve the last computed Y velocity.
|
||||||||||
|
|
||||||||||
|
Retrieve a new VelocityTracker object to watch the velocity of a motion.
|
||||||||||
|
Return a VelocityTracker object back to be re-used by others.
|
||||||||||
|
|
||||||||||
|
|
演示样例:
private VelocityTracker mVelocityTracker;//生命变量
//在onTouchEvent(MotionEvent ev)中
if (mVelocityTracker == null) {
mVelocityTracker = VelocityTracker.obtain();//获得VelocityTracker类实例
}
mVelocityTracker.addMovement(ev);//将事件添�到VelocityTracker类实例中
//推断当ev事件是MotionEvent.ACTION_UP时:计算速率
final VelocityTracker velocityTracker = mVelocityTracker;
// 1000 provides pixels per second
velocityTracker.computeCurrentVelocity(1, (float)0.01); //设置maxVelocity值为0.1时,速率大于0.01时,显示的速率都是0.01,速率小于0.01时,显示正常
Log.i("test","velocityTraker"+velocityTracker.getXVelocity());
velocityTracker.computeCurrentVelocity(1000); //设置units的值为1000,意思为一秒时间内运动了多少个像素
Log.i("test","velocityTraker"+velocityTracker.getXVelocity());
大体的使用是这种:
当你须要跟踪触摸屏事件的速度的时候,使用obtain()方法来获得VelocityTracker类的一个实例对象
在onTouchEvent回调函数中,使用addMovement(MotionEvent)函数将当前的移动事件传递给VelocityTracker对象
使用computeCurrentVelocity (int units)函数来计算当前的速度,使用 getXVelocity ()、 getYVelocity
()函数来获得当前的速度
相关推荐
- 简单的js验证邮箱代码
- 一个简单的跳转显示信息的有关问题
- 问一个简单的基础的有关问题哈
- 简单版手写promiss,包含resolve,reject,then链式调用
- [置顶] 在Ubuntu下实现一个简单的Web服务器
- 【CCF】通信网络 简单搜索
- phpcms 不能*访问,ERR_CONTENT_DECODING_FAILED ##这个坑真的爬了好几天,心痛啊,这里介绍的问题是你服务器的配置没问题,php能访问,方正绝望了的最后终极方法!
- 超简单 linux centos 下修改 apache 配置 网站目录
- 超简单 图解 三级域名解析
- Spring Boot 支持 HTTPS 如此简单,So easy!
- 拦截导弹类问题 (Codevs4888零件分组POJ1065Wooden Sticks)(LIS及其覆盖问题)
- 合唱队形(DP)