91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中VelocityTracker怎么用

發布時間:2021-08-30 09:18:27 來源:億速云 閱讀:152 作者:小新 欄目:開發技術

小編給大家分享一下Android中VelocityTracker怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

   VelocityTracker顧名思義即速度跟蹤,在android中主要應用于touch even。VelocityTracker通過跟蹤一連串事件實時計算出當前的速度,這樣的用法在android系統空間中隨處可見,比如Gestures中的Fling, Scrolling等。

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

Public Methods
voidaddMovement(      MotionEventevent)             Add a user's movement to the tracker.
voidclear()             Reset the velocity tracker back to its initial state.
voidcomputeCurrentVelocity(int units, float maxVelocity)             Compute the current velocity based on the points that have been collected.                          intunitis表示速率的基本時間單位。unitis值為1的表示是,一毫秒時間單位內運動了多少個像素, unitis值為1000表示一秒(1000毫秒)時間單位內運動了多少個像素             floatVelocity表示速率的最大值
voidcomputeCurrentVelocity(int units)             Equivalent to invoking computeCurrentVelocity(int, float)with a maximum velocity of Float.MAX_VALUE.             一般使用此函數即可
abstract TgetNextPoolable()
floatgetXVelocity()             Retrieve the last computed X velocity.
floatgetXVelocity(int id)             Retrieve the last computed X velocity.
floatgetYVelocity(int id)             Retrieve the last computed Y velocity.
floatgetYVelocity()             Retrieve the last computed Y velocity.
abstract booleanisPooled()
static        VelocityTrackerobtain()             Retrieve a new VelocityTracker object to watch the velocity of a motion.
voidrecycle()             Return a VelocityTracker object back to be re-used by others.
abstract voidsetNextPoolable(T element)
abstract voidsetPooled(boolean isPooled)

示例代碼:

@Override
	    public boolean onTouchEvent(MotionEvent ev) {
 
	        if (null == mVelocityTracker) {
	            mVelocityTracker = VelocityTracker.obtain();
	        }
	        mVelocityTracker.addMovement(ev);
 
	        switch (ev.getAction()) {
	            case MotionEvent.ACTION_UP:
	                // 隱藏在左邊的寬度
	                int scrollX = getScrollX();
	                Loger.e(ObjEarth.TAG, "V=" + mVelocityTracker.getXVelocity());
	                if (Math.abs(mVelocityTracker.getXVelocity()) > 4000f) {
	                    if (mVelocityTracker.getXVelocity() < 0f) {
	                        //正向邏輯代碼
	                    } else {
	                        //反向邏輯代碼
	                    }
	                }
	                return true;
	            case MotionEvent.ACTION_MOVE:
	                mVelocityTracker.computeCurrentVelocity(1000); //設置units的值為1000,意思為一秒時間內運動了多少個像素
	        }
	        return super.onTouchEvent(ev);
	    }

以上是“Android中VelocityTracker怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

钦州市| 沅江市| 马公市| 顺义区| 桂东县| 丹寨县| 平泉县| 南乐县| 凌云县| 鹰潭市| 柘城县| 婺源县| 德州市| 磴口县| 太原市| 仲巴县| 揭阳市| 伊金霍洛旗| 广南县| 寿宁县| 思茅市| 九台市| 清水县| 顺昌县| 沙田区| 梁山县| 湖北省| 大方县| 遂昌县| 昌邑市| 荆门市| 许昌县| 镇康县| 鄂伦春自治旗| 宁安市| 元氏县| 东丰县| 临颍县| 上思县| 栖霞市| 鹤岗市|