• Android Video Tutorials

Android - 碎片



碎片是活動的一部分,它使得活動設計更加模組化。我們可以說,碎片是一種子活動

以下是關於碎片的重要幾點:

  • 碎片有自己的佈局和行為,以及自己的生命週期回撥。

  • 在活動執行期間,可以向活動中新增或移除碎片。

  • 可以在單個活動中組合多個碎片來構建多窗格 UI。

  • 碎片可以在多個活動中使用。

  • 碎片的生命週期與其宿主活動的 生命週期密切相關,這意味著當活動暫停時,活動中所有可用的碎片也將停止。

  • 碎片可以實現沒有使用者介面元件的行為。

  • 碎片在 Android 的 Honeycomb 版本(API 版本 11)中新增到 Android API 中。

透過擴充套件Fragment類來建立碎片,可以透過在活動的佈局檔案中宣告碎片作為<fragment>元素將其插入到活動的佈局中。

在引入碎片之前,我們有一個限制,因為我們一次只能在螢幕上顯示一個活動。因此,我們無法單獨劃分裝置螢幕並控制不同的部分。但是,隨著碎片的引入,我們獲得了更大的靈活性,並取消了在螢幕上一次只能擁有一個活動的限制。現在我們可以擁有單個活動,但每個活動可以包含多個碎片,這些碎片將擁有自己的佈局、事件和完整的生命週期。

以下是如何將由碎片定義的兩個 UI 模組組合到平板電腦設計的一個活動中,但在手機設計中將其分開的一個典型示例。

Android Fragment

在平板電腦大小的裝置上執行時,應用程式可以在活動 A 中嵌入兩個碎片。但是,在手機大小的螢幕上,沒有足夠的空間容納這兩個碎片,因此活動 A 只包含文章列表的碎片,當用戶選擇一篇文章時,它啟動活動 B,其中包含第二個碎片來閱讀文章。

碎片生命週期

Android 碎片有自己的生命週期,與 Android 活動非常相似。本節簡要介紹其生命週期的不同階段。

Fragment

碎片生命週期

以下是您可以在碎片類中重寫的方法列表:

  • onAttach()碎片例項與活動例項關聯。碎片和活動尚未完全初始化。通常,您在此方法中獲得對使用碎片的活動的引用,以便進行進一步的初始化工作。

  • onCreate()建立碎片時,系統會呼叫此方法。您應該在此處初始化碎片的重要元件,以便在碎片暫停或停止後再恢復時保留這些元件。

  • onCreateView()當碎片第一次繪製其使用者介面時,系統會呼叫此回撥。要為碎片繪製 UI,必須從此方法返回一個作為碎片佈局根的View元件。如果碎片不提供 UI,則可以返回 null。

  • onActivityCreated()在宿主活動建立後,呼叫onActivityCreated()方法。活動和碎片例項以及活動的檢視層次結構都已建立。此時,可以使用findViewById()方法訪問檢視。例如,您可以在此方法中例項化需要Context物件的物件。

  • onStart()碎片可見後呼叫onStart()方法。

  • onResume()碎片變為活動狀態。

  • onPause()系統將此方法作為使用者離開碎片的第一個指示呼叫。通常,您應該在此處提交在當前使用者會話之外應持久儲存的任何更改。

  • onStop()呼叫onStop()停止碎片。

  • onDestroyView()呼叫此方法後,碎片檢視將被銷燬。

  • onDestroy()呼叫onDestroy()以對碎片的狀態進行最終清理,但Android平臺不保證呼叫此方法。

如何使用碎片?

這涉及建立碎片的幾個簡單步驟。

  • 首先,確定要在活動中使用多少個碎片。例如,我們想使用兩個碎片來處理裝置的橫向和縱向模式。

  • 接下來,根據碎片的數量,建立擴充套件Fragment類的類。Fragment類具有上述回撥函式。您可以根據需要重寫任何函式。

  • 對於每個碎片,都需要在XML檔案中建立佈局檔案。這些檔案將具有為定義的碎片提供的佈局。

  • 最後,修改活動檔案以定義根據您的需求替換碎片的實際邏輯。

碎片型別

基本上,碎片分為如下三個階段:

  • 單幀碎片 - 單幀碎片用於手機等手持裝置,在此我們只能顯示一個碎片作為檢視。

  • 列表碎片 - 具有特殊列表檢視的碎片稱為列表碎片。

  • 碎片事務 - 使用碎片事務,我們可以將一個碎片移動到另一個碎片。

廣告
© . All rights reserved.