该类用来计算在滑动控件的时候,手指在水平方向和竖直方向上的速度。具体的使用过程如下:
1、初始化(init或者Motion.ACTION_DOWN):使用该类的静态方法获取对象。
VelocityTracker velocityTracker = VelocityTracker.obtain ();2、触摸事件发生时(onTouchEvent或者Motion.ACTION_DOWN):将滑动事件MotionEvent对象添加给VelocityTracker对象。
velocityTracker.addMovement (event);
3、滑动时间发生时(Motion.ACTION_MOVE):计算当前滑动时,水平方向和竖直方向的速度,可以使用以下两个方法,第一个方法:参数是时间,单位是ms,具体意思是:在这段时间内手指滑动了多少个像素点。第二个方法:参数1与第一个方法的参数一样,参数2的意思是,当计算的速度大于设置的该值时,获取到的速度等于该设置的值,小于设置的该值时,获取到的速度就为获取到的值。
//velocityTracker.computeCurrentVelocity (1000);4、滑动时间发生时(Motion.ACTION_MOVE):获取当前水平方向和竖直方向上的速度。velocityTracker.computeCurrentVelocity (1000,200.0F);
int xVelocity = (int) velocityTracker.getXVelocity (); int yVelocity = (int) velocityTracker.getXVelocity ();5、手指离开屏幕时(Motion.ACTION_UP):在不使用该对象的时候,释放该对象,节省内存,防止内存泄露。
if(velocityTracker!=null){ velocityTracker.clear (); velocityTracker.recycle (); }