VelocityTracker簡單用法

2021-07-11 15:30:18 字數 2375 閱讀 7100

velocitytracker顧名思義即速度跟蹤,在android中主要應用於touch event(比如gestures中的fling, scrolling等), velocitytracker通過跟蹤一連串事件實時計算出,下面簡單介紹一下用法。

//獲取乙個velocitytracker物件, 用完後記得**  

//**後代表你不需要使用了,系統將此物件在此分配到其他請求者

static

public velocitytracker obtain();

public

void

recycle();

//計算當前速度, 其中units是單位表示, 1代表px/毫秒, 1000代表px/秒, ..

//maxvelocity此次計算速度你想要的最大值

public

void

computecurrentvelocity(int units, float maxvelocity);

//經過一次computecurrentvelocity後你就可以用一下幾個方法獲取此次計算的值

//id是touch event觸控點的id, 來為多點觸控標識,有這個標識在計算時可以忽略

//其他觸點干擾,當然干擾肯定是有的

public

float

getxvelocity();

public

float

getyvelocity();

public

float

getxvelocity(int id);

public

float

getyvelocity(int id);

package com.github.c.horizonalscrollitem;

import android.graphics.color;

import android.os.bundle;

import android.view.motionevent;

import android.view.velocitytracker;

import android.view.viewconfiguration;

import android.view.viewgroup.layoutparams;

import android.widget.textview;

public

class

velocitytrackertest

extends

activity

@override

public

boolean

ontouchevent(motionevent event)

return

super.ontouchevent(event);

} /**

* *@param event 向velocitytracker新增motionevent

* *@see android.view.velocitytracker#obtain()

*@see android.view.velocitytracker#addmovement(motionevent)

*/private

void

acquirevelocitytracker(final motionevent event)

mvelocitytracker.addmovement(event);

} /**

* 釋放velocitytracker

* *@see android.view.velocitytracker#clear()

*@see android.view.velocitytracker#recycle()

*/private

void

releasevelocitytracker()

} private

static

final string sformatstr = "velocityx=%f\nvelocityy=%f";

/**

* 記錄當前速度

* *@param velocityx x軸速度

*@param velocityy y軸速度

*/private

void

recodeinfo(final

float velocityx, final

float velocityy)

}

BroadcastReciever簡單用法示例

生命週期非常短,在接受到廣播時建立,onrecieve 方法執行完後銷毀 10s內onrecieve 方法未執行完,會出現anr錯誤 broadcastreciever簡單用法示例 傳送廣播 intent intent new intent this,sendbraodcast intent 注 1...

mysql的簡單用法 mysql簡單用法

刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...

VelocityTracker計算觸控移動速度

作用 幫助去跟蹤螢幕上的flinging事件,個人認為可能就是手指的觸控移動事件 使用方法 1 呼叫 velocitytracker mvelocitytracker velocitytracker.obtain 例項化物件 2 呼叫 mvelocitytracker.addmovement eve...