Android开发艺术之VelocityTracker

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(); //滑动速率事件交给其他去获取
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容