Android_ScaleGestureDetector多點觸控

來源:互聯網
上載者:User

標籤:多點觸摸   android_scalegesture   scalegesturedetector   觸控   

public class ScaleGestureDetector extends Object
  • 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 檢測和處理包括多點觸摸在內的手勢變化資訊。

內部類
  1. interface ScaleGestureDetector.OnScaleGestureListener手勢發生時接收通知的監聽器
  2. classScaleGestureDetector.SimpleOnScaleGestureListener 若僅想監聽一部分尺寸伸縮事件,可繼承該類。
公用構造方法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多點觸控

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.