Android 2.3 r1 中文 API (57) —— ScaleGestureDetector

來源:互聯網
上載者:User

 

前言

  本章內容是 android.view.ScaleGestureDetector,允許Views可以通過提供的MotionEvents檢測和處理包括多點觸摸在內的手勢變化資訊,版本為Android 2.3 r1,翻譯來自"一昕",再次感謝"一昕" !期待你一起參與Android中文API的翻譯,聯絡我over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:)

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://code.taobao.org/project/view/404/

 

本文

  一、結構

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

 

  三、內部類

    interface ScaleGestureDetector.OnScaleGestureListener    

  手勢發生時接收通知的監聽器

 

    class         ScaleGestureDetector.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 touchexample (中文)

             Making Sense of Multitouch(android-developers.blogspot.com)

 

結束

  昨天(2010-12-7)Android 2.3 r1已經發布,翻譯組也迅速的切換到新版本的翻譯,所有新翻譯的章節均為最新版本。本文為試審核員"一昕"的翻譯稿,接下來他將開始試審核工作,感謝他的努力和貢獻

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.