共用方式為


片段

Android 3.0 引進了片段,示範如何針對手機和平板電腦上找到的許多不同螢幕大小支援更靈活的設計。 本文將討論如何使用片段來開發 Xamarin.Android 應用程式,以及如何在 Android 3.0 之前 (API 層級 11) 裝置上支援片段。

片段概觀

在大部分平板計算機上找到的較大螢幕大小為Android開發增添了額外的複雜度—專為小型螢幕設計的版面配置不一定適用於較大的螢幕,反之亦然。 為了減少引進的併發症數目,Android 3.0 新增了兩項新功能: 片段 和支援 套件

片段可以視為使用者介面模組。 它們可讓開發人員將使用者介面分成隔離且可重複使用的元件,這些元件可以在個別的活動中執行。 在運行時間,活動本身會決定要使用的片段。

支援套件最初稱為 相容性連結庫 ,並允許片段用於在Android 3.0之前執行Android版本的裝置上(API 層級11)。

例如,下圖說明單一應用程式如何跨不同的裝置尺寸使用片段。

Diagram of how fragments are used in Tablets and Handsets

片段 A 包含清單,而 片段 B 包含該列表中選取之專案的詳細數據。 當應用程式在平板電腦上執行時,它可以在相同的活動上顯示這兩個片段。 當相同的應用程式在手機上執行時(螢幕大小較小),片段會裝載於兩個不同的活動中。 片段 A 和片段 B 在兩個尺寸上都相同,但裝載它們的活動不同。

為了協助活動協調和管理所有這些片段,Android 引進了名為 FragmentManager 的新類別。 每個活動都有自己的 實例, FragmentManager 可用來新增、刪除和尋找託管的片段。 下圖說明片段與活動之間的關聯性:

Diagram illustrating relationships between Activity, Fragment Manager, and Fragments

在某些方面,片段可以視為複合控件或迷你活動。 他們會將UI片段組合成可重複使用的模組,然後供活動中的開發人員獨立使用。 片段確實有檢視階層,就像活動一樣,但與活動不同,它可以跨屏幕共用。 檢視不同於片段,因為片段有自己的生命週期;檢視不會。

雖然活動是一或多個片段的主機,但不會直接察覺片段本身。 同樣地,片段不會直接察覺裝載活動中的其他片段。 不過,片段和活動會 FragmentManager 留意其活動中的 。 藉由使用 FragmentManager,活動或片段可以取得片段特定實例的參考,然後在該實例上呼叫方法。 如此一來,活動或片段就可以與其他片段進行通訊和互動。

本指南包含如何使用片段的完整涵蓋範圍,包括:

  • 建立片段 – 如何建立必須實作的基本 Fragment 和索引鍵方法。
  • 片段管理和交易 – 如何在運行時間操作片段。
  • Android 支援套件 – 如何使用允許舊版 Android 上使用片段的連結庫。

需求

從 API 層級 11 (Android 3.0) 開始,Android SDK 中提供片段,如下列螢幕快照所示:

Selecting the API level in the Android SDK Manager

Xamarin.Android 4.0 和更新版本中提供片段。 Xamarin.Android 應用程式必須至少以 API 層級 11 (Android 3.0) 或更高版本為目標,才能使用片段。 目標 Framework 可以在專案 [屬性] 中設定,如下所示:

Setting the Target Framework API level in the Project Options

您可以使用 Android 支援套件和 Xamarin.Android 4.2 或更高版本,在舊版 Android 中使用片段。 本節檔將更詳細地說明如何執行這項操作。