Android_ScaleGestureDetector多点触控
- java.lang.Object
- android.view.ScaleGestureDetector
類概述
根據(jù)接收的 MotionEvent, ?偵測(cè)由多個(gè)觸點(diǎn)(多點(diǎn)觸控)引發(fā)的變形手勢(shì)。callback 方法ScaleGestureDetector.OnScaleGestureListener ?會(huì)在特定手勢(shì)事件發(fā)生時(shí)通知用戶
。該類僅能和 Touch 事件引發(fā)的 MotionEvent 配合使用。使用該類需要
- 為你的 View 創(chuàng)建 ScaleGestureDetector ?實(shí)例
- 確保在 onTouchEvent(MotionEvent)方法中調(diào)用 onTouchEvent (MotionEvent)
- 前者為該類的 onTouchEvent 方法,后者為 View 的 onTouchEvent 方法。在事件發(fā)生時(shí),定義在 callback 中的方法會(huì)被調(diào)用。
ScaleGestureDetector 為 Android2.2 新增的類,允許 Views 可以通過(guò)提供的MotionEvents 檢測(cè)和處理包括多點(diǎn)觸摸在內(nèi)的手勢(shì)變化信息。
內(nèi)部類
公共構(gòu)造方法
public ScaleGestureDetector (Context context,?ScaleGestureDetector.OnScaleGestureListener listener)?
公共方法
public float getCurrentSpan ()
返回手勢(shì)過(guò)程中,組成該手勢(shì)的兩個(gè)觸點(diǎn)的當(dāng)前距離。
返回值:以像素為單位的觸點(diǎn)距離。
public long getEventTime ()
返回事件被捕捉時(shí)的時(shí)間。
返回值以毫秒為單位的事件時(shí)間。
public float getFocusX ()
返回當(dāng)前手勢(shì)焦點(diǎn)的 X 坐標(biāo)。?
- 如果手勢(shì)正在進(jìn)行中,焦點(diǎn)位于組成手勢(shì)的兩個(gè)觸點(diǎn)之間。
- 如果手勢(shì)正在結(jié)束,焦點(diǎn)為仍留在屏幕上的觸點(diǎn)的位置。
- 若 isInProgress()返回 false,該方法的返回值未定義。
返回值:返回焦點(diǎn)的 X 坐標(biāo)值,以像素為單位。
public float getFocusY ()
返回當(dāng)前手勢(shì)焦點(diǎn)的 Y 坐標(biāo)。
- ?如果手勢(shì)正在進(jìn)行中,焦點(diǎn)位于組成手勢(shì)的兩個(gè)觸點(diǎn)之間。
- 如果手勢(shì)正在結(jié)束,焦點(diǎn)為仍留在屏幕上的觸點(diǎn)的位置。
- 若 isInProgress()返回 false,該方法的返回值未定義。
返回值返回焦點(diǎn)的 Y 坐標(biāo)值,以像素為單位。
public float getPreviousSpan ()
返回手勢(shì)過(guò)程中,組成該手勢(shì)的兩個(gè)觸點(diǎn)的 前一次距離。返回值兩點(diǎn)的前一次距離,以像素為單位。
public float getScaleFactor ()
返回從前一個(gè)伸縮事件至當(dāng)前伸縮事件的 伸縮比率。該值定義為 (getCurrentSpan() /?getPreviousSpan())。返回值當(dāng)前伸縮比率.
public long getTimeDelta ()
返回前一次接收到的伸縮事件距當(dāng)前伸縮事件的 時(shí)間差,以毫秒為單位。返回值從前一次伸縮事件起始的時(shí)間差,以毫秒為單位。
public boolean isInProgress ()
如果 手勢(shì)處于進(jìn)行過(guò)程中,返回 true.返回值如果手勢(shì)處于進(jìn)行過(guò)程中,返回 true。否則返回 false。
總結(jié)
以上是生活随笔為你收集整理的Android_ScaleGestureDetector多点触控的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux学习-条件执行
- 下一篇: modbus从机模拟软件:modbus