Kotlin使用VelocityTracker

一般是用于处理触摸事件的,用于计算触摸的速率,这样就不要自己计算了。
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
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值