Android VelocityTracker

簡介:

    android.view.VelocityTracker主要用跟蹤觸摸屏事件(flinging事件和其餘gestures手勢事件)的速率。用addMovement(MotionEvent)函數將Motion event加入到VelocityTracker類實例中.你能夠使用getXVelocity() 或getXVelocity()得到橫向和豎向的速率到速率時,可是使用它們以前請先調用computeCurrentVelocity(int)來初始化速率的單位 。android

示例: 

    private VelocityTracker mVelocityTracker;//聲明變量 函數

    //在onTouchEvent(MotionEvent ev)中 spa

    if (mVelocityTracker == null) { 對象

       mVelocityTracker = VelocityTracker.obtain();  //得到VelocityTracker類實例 事件

    } ci

    mVelocityTracker.addMovement(ev);  //將事件加入到VelocityTracker類實例中 get

    //判斷當ev事件是MotionEvent.ACTION_UP時:計算速率 回調函數

    final VelocityTracker velocityTracker = mVelocityTracker; it


    velocityTracker.computeCurrentVelocity(1, (float)0.01); //設置maxVelocity值爲0.1時,速率大於0.01時,顯示的速率都是0.01,速率小於0.01時,顯示正常 io

    Log.i("test","velocityTraker"+velocityTracker.getXVelocity());                     

    velocityTracker.computeCurrentVelocity(1000); //設置units的值爲1000,意思爲一秒時間內運動了多少個像素 

    Log.i("test","velocityTraker"+velocityTracker.getXVelocity()); 

備註:

    當你須要跟蹤觸摸屏事件的速度的時候,使用obtain()方法來得到VelocityTracker類的一個實例對象

在onTouchEvent回調函數中,使用addMovement(MotionEvent)函數將當前的移動事件傳遞給VelocityTracker對象

使用computeCurrentVelocity(int units)函數來計算當前的速度,使用 getXVelocity()、 getYVelocity()函數來得到當前的速度

相關文章
相關標籤/搜索