Android VelocityTracker使用案例详解
VelocityTracker顾名思义即速度跟踪,在android中主要应用于touch even。VelocityTracker通过跟踪一连串事件实时计算出当前的速度,这样的用法在android系统空间中随处可见,比如Gestures中的Fling, Scrolling等。
VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用computeCurrentVelocity(int)来初始化速率的单位 。
示例代码:
@Override public boolean onTouchEvent(MotionEvent ev) { if (null == mVelocityTracker) { mVelocityTracker = VelocityTracker.obtain(); } mVelocityTracker.addMovement(ev); switch (ev.getAction()) { case MotionEvent.ACTION_UP: // 隐藏在左边的宽度 int scrollX = getScrollX(); Loger.e(ObjEarth.TAG, "V=" + mVelocityTracker.getXVelocity()); if (Math.abs(mVelocityTracker.getXVelocity()) > 4000f) { if (mVelocityTracker.getXVelocity() < 0f) { //正向逻辑代码 } else { //反向逻辑代码 } } return true; case MotionEvent.ACTION_MOVE: mVelocityTracker.computeCurrentVelocity(1000); //设置units的值为1000,意思为一秒时间内运动了多少个像素 } return super.onTouchEvent(ev); }
到此这篇关于Android VelocityTracker使用案例详解的文章就介绍到这了,更多相关Android VelocityTracker使用内容请搜索海外IDC网以前的文章或继续浏览下面的相关文章希望大家以后多多支持海外IDC网!
【文章源自:ddos攻击防御 复制请保留原URL】