博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VelocityTracker简单介绍
阅读量:6644 次
发布时间:2019-06-25

本文共 2105 字,大约阅读时间需要 7 分钟。

翻译自:
參照自:   
android.view.VelocityTracker
主要用跟踪触摸屏事件(flinging事件和其它gestures手势事件)的速率。用
addMovement(MotionEvent)
函数将Motion event增加到VelocityTracker类实例中.你能够使用
getXVelocity() 
getXVelocity()
获得横向和竖向的速率到速率时,可是使用它们之前请先调用
computeCurrentVelocity
(int)
来初始化速率的单位 。
主要函数
Public Methods
void ( event)
Add a user's movement to the tracker.
void ()
Reset the velocity tracker back to its initial state.
void (int units, float maxVelocity)
Compute the current velocity based on the points that have been collected.
int 
unitis表示速率的基本时间单位。unitis值为
1的表示是,一毫秒时间单位内运动了多少个像素, unitis值为
1000表示一秒(1000毫秒)时间单位内运动了多少个像素
float
Velocity表示速率的最大值
void (int units)
Equivalent to invoking 
 with a maximum velocity of Float.MAX_VALUE.
abstract T ()
float ()
Retrieve the last computed X velocity.
float (int id)
Retrieve the last computed X velocity.
float (int id)
Retrieve the last computed Y velocity.
float ()
Retrieve the last computed Y velocity.
abstract boolean ()
static  ()
Retrieve a new VelocityTracker object to watch the velocity of a motion.
void ()
Return a VelocityTracker object back to be re-used by others.
abstract void (T element)
abstract void (boolean isPooled)
演示样例: 
    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  ()
函数来获得当前的速度

转载地址:http://exevo.baihongyu.com/

你可能感兴趣的文章
新瓶如何和平改造老酒?(野生项目笔记01)
查看>>
Python实现MySQL DBA小工具一例
查看>>
YodaOS 中是如何生成 API 的?
查看>>
Android 中Fragment的自动重建
查看>>
在 iOS 平台实现Ping 和 traceroute
查看>>
小猿圈python学习-嵌套&匿名&高阶函数
查看>>
element-ui 版本升级对比
查看>>
js 整理
查看>>
Java Socket基础(二)
查看>>
Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色
查看>>
Jenkins Master/Slave架构
查看>>
Linux Shell 程序调试
查看>>
Oracle Dimension
查看>>
使用客户端登陆ftp 500 OOPS: cannot change directory:/root
查看>>
docker 私用仓库Harbor搭建及配置
查看>>
理解HTTP协议
查看>>
巧用分类信息做网站的口碑推广
查看>>
理解并取证:ICMPV6代替IPV4中的ARP进行IPv6的MAC地址解析
查看>>
数据库知识体系梳理(一)
查看>>
我的友情链接
查看>>