1.VelocityTracker
速度追踪,用于追踪手指在滑动过程中的速度,包括水平和竖直方向的速度,它的使用过程很简单,首先,在View的 onTouchEvent方法中追踪当前点击事件的速度;
VelocityTracker velocityTracker = VelocityTracker.obtain();
velocityTracker.addMovement(event)
接着,当我们想知道当前的滑动速度时,这个时候可以采用以下方式来获取当前速度:
velocityTracker.computeCurrentVelocity(1000);
int xVelocity = (int) velocityTracker.getXVelocity();
int yVelocity = (int) velocityTracker.getYVelocity();
这一步有2个注意点,第一,获取速度之前必须先计算速度,即getXVelocity和getYVelocity这两个方法前面必须调用computeCurrentVelocity方法。 第二,这里的速度是指一段时间内手指所滑过的像素数,比如将时间间隔设为1000ms,在1s内,手指在水平方向从左向右滑过100像素,那么水平速度就是100,注意速度可以为负数,当手指从右往左滑动时,水平方向速度极为赋值,这个需要理解一下,速度的计算可以用 如下公式来表示
速度 = (终点位置 - 起点位置)/时间段
最后当不需要使用它的时候,需要调用clear方法来重置并回收内存;
velocityTracker.clear();
velocityTracker.recycle();