Xamarin.Android 中的觸控和手勢

現今許多裝置上的觸控螢幕可讓使用者以自然且直覺的方式快速且有效率地與裝置互動。 這種互動不限於簡單的觸控偵測-也可以使用手勢。 例如,捏合縮放手勢是一個非常常見的範例,方法是捏合螢幕的一部分與兩根手指,使用者可以放大或縮小。本指南會檢查Android中的觸控和手勢。

觸控概觀

iOS 和 Android 的處理方式很類似。 兩者都可以支援多點觸控-螢幕上的許多接觸點,以及複雜的手勢。 本指南介紹概念的一些相似之處,以及在這兩個平臺上實作觸控和手勢的特殊性。

Android 會使用 MotionEvent 對象來封裝觸控數據,以及 View 物件上用來接聽觸控的方法。

除了擷取觸控數據之外,iOS 和 Android 也提供將觸控模式解譯成手勢的方法。 這些手勢辨識器可以接著用來解譯應用程式特定的命令,例如影像旋轉或頁面的旋轉。 Android 提供少數支援的手勢,以及讓新增複雜的自定義手勢變得容易的資源。

無論您是在 Android 或 iOS 上工作,觸控和手勢辨識器之間的選擇都是令人困惑的。 本指南建議一般而言,應該將喜好設定提供給手勢辨識器。 手勢辨識器會實作為離散類別,以提供更高的考慮區隔和更佳的封裝。 這可讓您輕鬆地在不同檢視之間共享邏輯,將撰寫的程式代碼量降至最低。

本指南會針對每個操作系統遵循類似的格式:首先,會介紹平臺的觸控 API 並加以說明,因為它們是建立觸控互動的基礎。 然後,我們會深入探討手勢辨識器的世界,首先探索一些常見的手勢,然後完成為應用程式建立自定義手勢。 最後,您將瞭解如何使用低階觸控追蹤來追蹤個別手指,以建立手指繪製程式。

區段

摘要

在本指南中,我們已在Android中檢查觸控。 針對這兩個操作系統,我們已瞭解如何啟用觸控,以及如何響應觸控事件。 接下來,我們已了解手勢和Android和iOS所提供的一些手勢辨識器,以處理一些較常見的案例。 我們已檢查如何建立自定義手勢,並在應用程式中實作它們。 逐步解說示範每個運作中操作系統的概念和 API,您也瞭解如何追蹤個別的手指。