VelocityTracker

VelocityTracker

速度追蹤,用於追蹤手指在滑動過程中的速度,包括水平和豎直方向的速度。


代碼示例:

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //初始化
        VelocityTracker velocityTracker = VelocityTracker.obtain();
        velocityTracker.addMovement(event);
        //獲取速度前必須先計算速度
        velocityTracker.computeCurrentVelocity(1000);
        int xVelocity = (int) velocityTracker.getXVelocity();
        int yVelocity = (int) velocityTracker.getYVelocity();
        Log.d("demo", "xVelocity" + xVelocity);
        Log.d("demo", "yVelocity" + yVelocity);
        return super.onTouchEvent(event);
    }

注意:

  1. 獲取速度前必須先計算速度
  2. computeCurrentVelocity方法是計算一段時間內手指滑動的像素數,時間間隔單位是毫秒
  3. 速度可以爲負數,當手指從右往左滑動的時候水平速度即爲負值,同理豎直。

速度計算公式

速度 = (終點位置 -  起點位置) / 時間段

回收

velocityTracker.clear();
velocityTracker.recycle();

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章