VelocityTracker 速度跟蹤api

幫助器用於跟蹤觸摸事件的速度,用於實現投擲和其他此類手勢。用於obtain()在開始跟蹤時檢索類的新實例。將收到的動作事件放入其中 addMovement(MotionEvent)。當你想確定速度調用 computeCurrentVelocity(int)然後調用getXVelocity(int) 並getYVelocity(int)檢索每個指針id的速度。

                                                                                               公共方法                                                                    

         void

addMovement(MotionEvent event)

爲 VelocityTracker 傳入觸摸事件(包括ACTION_DOWNACTION_MOVEACTION_UP等),這樣 VelocityTracker 才能在調用了 computeCurrentVelocity 方法後,正確的取得當前的速度。注:一般在onTouchEvent(MotionEvent event) 裏

          void

clear()

重置 VelocityTracker 回其初始狀態。

         void

computeCurrentVelocity(int units)

根據已經傳入的觸摸事件計算出當前的速度,可以通過getXVelocity 或者 getYVelocity進行獲取對應方向上的速度。值得注意的是,計算出的速度值不超過Float.MAX_VALUE

注:一般在

case MotionEvent.ACTION_MOVE:
    mVelocity.computeCurrentVelocity(VELOCITY_DURATION);

參數

單位您希望速度輸入的單位。值爲1表示每毫秒像素數,1000表示每秒像素數等。maxVelocity可以通過此方法計算的最大速度。必須在與units參數相同的單位中聲明此值。該值必須爲正數。

       float

getXVelocity()

獲取最後計算的水平方向速度,使用此方法前需要記得先調用computeCurrentVelocity

       float

getXVelocity(int id)

獲取對應的手指id最後計算的水平方向速度,使用此方法前需要記得先調用computeCurrentVelocity

       float

getYVelocity(int id)

獲取對應的手指id最後計算的垂直方向速度,使用此方法前需要記得先調用computeCurrentVelocity

       float

getYVelocity()

獲取最後計算的垂直方向速度,使用此方法前需要記得先調用computeCurrentVelocity

static VelocityTracker

obtain()

獲取一個 VelocityTracker 對象。VelocityTracker的構造函數是私有的,也就是不能通過new來創立

       void

recycle()

回收 VelocityTracker 實例。

 

 

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