Android开发艺术之VelocityTracker

2017-05-11  本文已影响0人  Android_小马范儿

VelocityTracker是速度追踪,主要在onTouchEvent(MotionEvent event)的MotionEvent.ACTION_UP获取滑动速率并使用
1.获取当前点击事件的速度

VelocityTracker velocitytracker=VelocityTracker.obtain();
velocitytracker.addMovement(event);

2.获取当前的滑动速度

velocityTracker.computeCurrentVelocity(1000);
float xVelocity = velocityTracker.getXVelocity();
float yVelocity = velocityTracker.getYVelocity();

3.滑动速率说明

速度=(终点位置-起点位置)/时间段
如果速度>0,代表从左往右划动(如果子item更换则是childIndex-1),
如果速度<0,代表从右往左滑动(如果子item更换则是childIndex+1)
从Android开发艺术探索上获知,如果Math.abs(xVelocity)>50,则会更换item,
可是从ViewPager源码查看,不是这个公式,这个自己的项目自己去验证确

4.当不需要的时候,进行回收

velocityTracker.clear();  //直接清除
velocityTracker.recycle(); //滑动速率事件交给其他去获取
上一篇下一篇

猜你喜欢

热点阅读