?
? ????? PHP ??? ???? ??? ?? ??
ScaleGestureDetector
翻譯時(shí)間:2010-12-05
版本:Android 2.3 r1
?
結(jié)構(gòu)
繼承關(guān)系
public class ScaleGestureDetector extends Object
????????
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配合使用。使用該類需要
l? 為你的View創(chuàng)建ScaleGestureDetector 實(shí)例
l? 確保在onTouchEvent(MotionEvent)方法中調(diào)用 onTouchEvent (MotionEvent). [譯者注:前者為該類的onTouchEvent方法,后者為View的onTouchEvent方法。] 在事件發(fā)生時(shí),定義在callback中的方法會(huì)被調(diào)用。
(譯者注:ScaleGestureDetector為Android2.2新增的類,允許Views可以通過提供的MotionEvents檢測(cè)和處理包括多點(diǎn)觸摸在內(nèi)的手勢(shì)變化信息。)
?
內(nèi)部類
interface? ScaleGestureDetector.OnScaleGestureListener????
手勢(shì)發(fā)生時(shí)接收通知的監(jiān)聽器
?
class???????? ScaleGestureDetector.SimpleOnScaleGestureListener?
一個(gè)方便使用的類。 若僅想監(jiān)聽一部分尺寸伸縮事件,可繼承該類。
?
公共構(gòu)造方法
public ScaleGestureDetector (Context context, ScaleGestureDetector.OnScaleGestureListener listener)
???????? 構(gòu)造函數(shù)
?
公共方法
public float getCurrentSpan ()
返回手勢(shì)過程中,組成該手勢(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ì)過程中,組成該手勢(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)行過程中,返回true.
返回值
如果手勢(shì)處于進(jìn)行過程中,返回true。否則返回false。
?
補(bǔ)充
???????? 文章精選
?????????????????? android touchexample (中文)
?????????????????? Making Sense of Multitouch(android-developers.blogspot.com)