?
Ce document utilise Manuel du site Web PHP chinois Libérer
ScaleGestureDetector
翻譯時間: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, 偵測由多個觸點(多點觸控)引發(fā)的變形手勢。callback方法ScaleGestureDetector.OnScaleGestureListener 會在特定手勢事件發(fā)生時通知用戶。該類僅能和Touch事件引發(fā)的MotionEvent配合使用。使用該類需要
l? 為你的View創(chuàng)建ScaleGestureDetector 實例
l? 確保在onTouchEvent(MotionEvent)方法中調(diào)用 onTouchEvent (MotionEvent). [譯者注:前者為該類的onTouchEvent方法,后者為View的onTouchEvent方法。] 在事件發(fā)生時,定義在callback中的方法會被調(diào)用。
(譯者注:ScaleGestureDetector為Android2.2新增的類,允許Views可以通過提供的MotionEvents檢測和處理包括多點觸摸在內(nèi)的手勢變化信息。)
?
內(nèi)部類
interface? ScaleGestureDetector.OnScaleGestureListener????
手勢發(fā)生時接收通知的監(jiān)聽器
?
class???????? ScaleGestureDetector.SimpleOnScaleGestureListener?
一個方便使用的類。 若僅想監(jiān)聽一部分尺寸伸縮事件,可繼承該類。
?
公共構(gòu)造方法
public ScaleGestureDetector (Context context, ScaleGestureDetector.OnScaleGestureListener listener)
???????? 構(gòu)造函數(shù)
?
公共方法
public float getCurrentSpan ()
返回手勢過程中,組成該手勢的兩個觸點的當前距離。
返回值
以像素為單位的觸點距離。
?
public long getEventTime ()
返回事件被捕捉時的時間。
返回值
以毫秒為單位的事件時間。
?
public float getFocusX ()
返回當前手勢焦點的X坐標。 如果手勢正在進行中,焦點位于組成手勢的兩個觸點之間。 如果手勢正在結(jié)束,焦點為仍留在屏幕上的觸點的位置。若isInProgress()返回false,該方法的返回值未定義。
返回值
返回焦點的X坐標值,以像素為單位。
?
public float getFocusY ()
返回當前手勢焦點的Y坐標。 如果手勢正在進行中,焦點位于組成手勢的兩個觸點之間。 如果手勢正在結(jié)束,焦點為仍留在屏幕上的觸點的位置。若isInProgress()返回false,該方法的返回值未定義。
返回值
返回焦點的Y坐標值,以像素為單位。
?
public float getPreviousSpan ()
返回手勢過程中,組成該手勢的兩個觸點的前一次距離。
返回值
兩點的前一次距離,以像素為單位。
?
public float getScaleFactor ()
返回從前一個伸縮事件至當前伸縮事件的伸縮比率。該值定義為 (getCurrentSpan() / getPreviousSpan())。
返回值
當前伸縮比率.
?
public long getTimeDelta ()
返回前一次接收到的伸縮事件距當前伸縮事件的時間差,以毫秒為單位。
返回值
從前一次伸縮事件起始的時間差,以毫秒為單位。
?
public boolean isInProgress ()
如果手勢處于進行過程中,返回true.
返回值
如果手勢處于進行過程中,返回true。否則返回false。
?
補充
???????? 文章精選
?????????????????? android touchexample (中文)
?????????????????? Making Sense of Multitouch(android-developers.blogspot.com)