片段

Fragment 代表應用程式使用者介面的可重複使用部分。片段不僅會定義及管理自己的版面配置,也擁有自己的生命週期,甚至還可處理各自的輸入事件。不過,片段不能獨立存在,而是必須由活動或其他片段「代管」。片段的檢視區塊階層會成為主機檢視區塊階層的一部分,或附加至主機的檢視區塊階層。

模組性

片段可讓您將使用者介面分為不同的區塊,藉此將模組性和可重複使用性導入您的活動使用者介面。如果您要在應用程式的使用者介面附近放置導覽匣這類全域元素,活動是絕佳的位置。相反地,片段比較適合定義及管理單一畫面或部分畫面的使用者介面。

假設應用程式可以因應各種螢幕大小調整畫面,那麼在大螢幕上,應以格線版面配置顯示靜態導覽匣和清單;而在較小的螢幕上,則應以線性版面配置顯示底部導覽列和清單。

然而,在活動中管理這些變化版本並不方便,所以我們要將導覽元素與內容區隔開來,讓此流程更易於管理。這樣一來,活動就會負責顯示正確的導覽 UI,而片段也會以適當的版面配置顯示清單。

同一畫面在不同螢幕大小上呈現兩種版本。
圖 1.同一螢幕在不同螢幕大小上呈現兩種版本。大螢幕左側有一個由活動控制的導覽匣,以及由片段控制的格狀清單。畫面右側會顯示一個由導覽列控制的底部導覽列,以及由片段控制的線性清單。

將使用者介面分成多個片段,可以更輕鬆地修改執行階段中活動的外觀。如果您的活動處於 STARTED 生命週期狀態或更高層級,就可以新增、取代或移除片段。您可以將這些變更的記錄儲存在活動管理的返回堆疊中,進而撤銷變更。

您可以在同一個活動或多個活動中,使用同一個片段類別的多個例項,甚至可以將這些例項當做另一個片段的子項使用。瞭解這點後,請只為片段提供管理其 UI 所需的邏輯,避免依賴或從特定片段操控另一個片段。

後續步驟

如需更多與片段相關的說明文件和資源,請參閱下列資訊。

開始使用

其他主題

範例

影片