一般是用于处理触摸事件的,用于计算触摸的速率,这样就不要自己计算了。
1.获得实例
private var mVelocity:VelocityTracker? =null //速率
....
mVelocity = VelocityTracker.obtain() //获得VelocityTracker类的实例
2.添加监听的事件,必须的
mVelocity?.addMovement(e) //e:MotionEvent
3.设置每秒处理像素值,必须的
mVelocity!!.computeCurrentVelocity(1000) //每秒处理多少像素,一般都是1000
4.获得横向纵向速率
val velocityX = Math.abs(mVelocity!!.xVelocity).toInt() //往左滑为负数,往右滑为正数
val velocityY = Math.abs(mVelocity!!.yVelocity).toInt() //往上滑为负,往下滑为正
5.一般触摸结束后都处理一下,把添加的事件取消
fun releaseVelocity(){
if(mVelocity!=null){
mVelocity?.clear() //Reset the velocity tracker back to its initial state.
mVelocity?.recycle() //Return a VelocityTracker object back to be re-used by others.
mVelocity = null
}