顾名思义即速率跟踪者,主要用来跟踪触摸事件(flinging和getsture)的速率,在UI特效的设计上非常有用。
使用时:
step1:通过VelocityTracker.obtain()方法实例化。
step2:使用addMovement(MotionEvent)指定检测对象。
step3:通过getXVelocity()获得横向滑动的速率(竖向于此类似)。
对VelocityTracker的掌握是里面几个方法的使用:
1. public static VelocityTracker obtain()
实例化VelocityTracker对象
注:确保监测结束后观测结束后调用recycle()方法。通常,只维护一个活动对象监测运动
2. public void recycle()
收回VelocityTracker对象以便被重用
注:调用此方法后不能再使用该对象
3. public void clear()
将速率跟踪器设定为初始状态
4. public void addMovement(MotionEvent ev)
添加动作事件到跟踪器内
注:通常在MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE和MotionEvent.ACTION_UP条件下使用
ev是在,比如在onTouchEvent(...)中收到的MotionEvent类型参数
5. public void computeCurrentVelocity(int units)
计算当前收集到的点的速率
注:此方法代价昂贵,谨慎使用
6. getXVelocity()和getXVelocity()
获取横向和竖向的速率
注:需在computeCurrentVelocity(int)设定好速率的时间单位后使用
总结:使用过程一般是,实例化-设置监测事件-设定速率单位时间-获取横竖向速率。
声明:文章通过网络学习和查询API官方文档总结而来,若有出错地方,万望留言交流。