Android_ScaleGestureDetector多点触控
生活随笔
收集整理的這篇文章主要介紹了
Android_ScaleGestureDetector多点触控
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public class ScaleGestureDetector extends Object
interface ScaleGestureDetector.OnScaleGestureListener手勢發生時接收通知的監聽器 classScaleGestureDetector.SimpleOnScaleGestureListener 若僅想監聽一部分尺寸伸縮事件,可繼承該類。
?
- java.lang.Object
- android.view.ScaleGestureDetector
類概述
根據接收的 MotionEvent, ?偵測由多個觸點(多點觸控)引發的變形手勢。callback 方法ScaleGestureDetector.OnScaleGestureListener ?會在特定手勢事件發生時通知用戶
。該類僅能和 Touch 事件引發的 MotionEvent 配合使用。使用該類需要
- 為你的 View 創建 ScaleGestureDetector ?實例
- 確保在 onTouchEvent(MotionEvent)方法中調用 onTouchEvent (MotionEvent)
- 前者為該類的 onTouchEvent 方法,后者為 View 的 onTouchEvent 方法。在事件發生時,定義在 callback 中的方法會被調用。
ScaleGestureDetector 為 Android2.2 新增的類,允許 Views 可以通過提供的MotionEvents 檢測和處理包括多點觸摸在內的手勢變化信息。
內部類
公共構造方法
public ScaleGestureDetector (Context context,?ScaleGestureDetector.OnScaleGestureListener listener)?
公共方法
public float getCurrentSpan ()
返回手勢過程中,組成該手勢的兩個觸點的當前距離。
返回值:以像素為單位的觸點距離。
public long getEventTime ()
返回事件被捕捉時的時間。
返回值以毫秒為單位的事件時間。
public float getFocusX ()
返回當前手勢焦點的 X 坐標。?
- 如果手勢正在進行中,焦點位于組成手勢的兩個觸點之間。
- 如果手勢正在結束,焦點為仍留在屏幕上的觸點的位置。
- 若 isInProgress()返回 false,該方法的返回值未定義。
返回值:返回焦點的 X 坐標值,以像素為單位。
public float getFocusY ()
返回當前手勢焦點的 Y 坐標。
- ?如果手勢正在進行中,焦點位于組成手勢的兩個觸點之間。
- 如果手勢正在結束,焦點為仍留在屏幕上的觸點的位置。
- 若 isInProgress()返回 false,該方法的返回值未定義。
返回值返回焦點的 Y 坐標值,以像素為單位。
public float getPreviousSpan ()
返回手勢過程中,組成該手勢的兩個觸點的 前一次距離。返回值兩點的前一次距離,以像素為單位。
public float getScaleFactor ()
返回從前一個伸縮事件至當前伸縮事件的 伸縮比率。該值定義為 (getCurrentSpan() /?getPreviousSpan())。返回值當前伸縮比率.
public long getTimeDelta ()
返回前一次接收到的伸縮事件距當前伸縮事件的 時間差,以毫秒為單位。返回值從前一次伸縮事件起始的時間差,以毫秒為單位。
public boolean isInProgress ()
如果 手勢處于進行過程中,返回 true.返回值如果手勢處于進行過程中,返回 true。否則返回 false。
總結
以上是生活随笔為你收集整理的Android_ScaleGestureDetector多点触控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习-条件执行
- 下一篇: Android开发者选项之GPU过度绘制