- Android 基礎
- Android - 首頁
- Android - 概述
- Android - 環境搭建
- Android - 架構
- Android - 應用元件
- Android - Hello World 示例
- Android - 資源
- Android - 活動(Activity)
- Android - 服務(Service)
- Android - 廣播接收器(Broadcast Receiver)
- Android - 內容提供者(Content Provider)
- Android - 碎片
- Android - 意圖/過濾器(Intents/Filters)
- Android - 使用者介面
- Android - UI 佈局
- Android - UI 控制元件
- Android - 事件處理
- Android - 樣式和主題
- Android - 自定義元件
- Android 高階概念
- Android - 拖放
- Android - 通知
- 基於位置的服務
- Android - 傳送郵件
- Android - 傳送簡訊
- Android - 電話呼叫
- 釋出 Android 應用
- Android 實用示例
- Android - 警報對話方塊
- Android - 動畫
- Android - 音訊捕獲
- Android - AudioManager
- Android - 自動完成
- Android - 最佳實踐
- Android - 藍牙
- Android - 相機
- Android - 剪貼簿
- Android - 自定義字型
- Android - 資料備份
- Android - 開發者工具
- Android - 模擬器
- Android - Facebook 整合
- Android - 手勢
- Android - Google 地圖
- Android - 圖片特效
- Android - ImageSwitcher
- Android - 內部儲存
- Android - JetPlayer
- Android - JSON 解析器
- Android - LinkedIn 整合
- Android - 載入旋轉器
- Android - 本地化
- Android - 登入介面
- Android - MediaPlayer
- Android - 多點觸控
- Android - 導航
- Android - 網路連線
- Android - NFC 指南
- Android - PHP/MySQL
- Android - 進度圓圈
- Android - ProgressBar
- Android - 推送通知
- Android - RenderScript
- Android - RSS 閱讀器
- Android - 螢幕錄製
- Android - SDK 管理器
- Android - 感測器
- Android - 會話管理
- Android - 共享首選項
- Android - SIP 協議
- Android - 拼寫檢查器
- Android - SQLite 資料庫
- Android - 支援庫
- Android - 測試
- Android - 文字轉語音
- Android - TextureView
- Android - Twitter 整合
- Android - UI 設計
- Android - UI 模式
- Android - UI 測試
- Android - WebView 佈局
- Android - Wi-Fi
- Android - 小部件
- Android - XML 解析器
- Android 實用資源
- Android - 問答
- Android - 實用資源
- Android - 討論
Android - 碎片
碎片是活動的一部分,它使得活動設計更加模組化。我們可以說,碎片是一種子活動。
以下是關於碎片的重要幾點:
碎片有自己的佈局和行為,以及自己的生命週期回撥。
在活動執行期間,可以向活動中新增或移除碎片。
可以在單個活動中組合多個碎片來構建多窗格 UI。
碎片可以在多個活動中使用。
碎片的生命週期與其宿主活動的 生命週期密切相關,這意味著當活動暫停時,活動中所有可用的碎片也將停止。
碎片可以實現沒有使用者介面元件的行為。
碎片在 Android 的 Honeycomb 版本(API 版本 11)中新增到 Android API 中。
透過擴充套件Fragment類來建立碎片,可以透過在活動的佈局檔案中宣告碎片作為<fragment>元素將其插入到活動的佈局中。
在引入碎片之前,我們有一個限制,因為我們一次只能在螢幕上顯示一個活動。因此,我們無法單獨劃分裝置螢幕並控制不同的部分。但是,隨著碎片的引入,我們獲得了更大的靈活性,並取消了在螢幕上一次只能擁有一個活動的限制。現在我們可以擁有單個活動,但每個活動可以包含多個碎片,這些碎片將擁有自己的佈局、事件和完整的生命週期。
以下是如何將由碎片定義的兩個 UI 模組組合到平板電腦設計的一個活動中,但在手機設計中將其分開的一個典型示例。
在平板電腦大小的裝置上執行時,應用程式可以在活動 A 中嵌入兩個碎片。但是,在手機大小的螢幕上,沒有足夠的空間容納這兩個碎片,因此活動 A 只包含文章列表的碎片,當用戶選擇一篇文章時,它啟動活動 B,其中包含第二個碎片來閱讀文章。
碎片生命週期
Android 碎片有自己的生命週期,與 Android 活動非常相似。本節簡要介紹其生命週期的不同階段。
碎片生命週期
以下是您可以在碎片類中重寫的方法列表:
onAttach()碎片例項與活動例項關聯。碎片和活動尚未完全初始化。通常,您在此方法中獲得對使用碎片的活動的引用,以便進行進一步的初始化工作。
onCreate()建立碎片時,系統會呼叫此方法。您應該在此處初始化碎片的重要元件,以便在碎片暫停或停止後再恢復時保留這些元件。
onCreateView()當碎片第一次繪製其使用者介面時,系統會呼叫此回撥。要為碎片繪製 UI,必須從此方法返回一個作為碎片佈局根的View元件。如果碎片不提供 UI,則可以返回 null。
onActivityCreated()在宿主活動建立後,呼叫onActivityCreated()方法。活動和碎片例項以及活動的檢視層次結構都已建立。此時,可以使用findViewById()方法訪問檢視。例如,您可以在此方法中例項化需要Context物件的物件。
onStart()碎片可見後呼叫onStart()方法。
onResume()碎片變為活動狀態。
onPause()系統將此方法作為使用者離開碎片的第一個指示呼叫。通常,您應該在此處提交在當前使用者會話之外應持久儲存的任何更改。
onStop()呼叫onStop()停止碎片。
onDestroyView()呼叫此方法後,碎片檢視將被銷燬。
onDestroy()呼叫onDestroy()以對碎片的狀態進行最終清理,但Android平臺不保證呼叫此方法。
如何使用碎片?
這涉及建立碎片的幾個簡單步驟。
首先,確定要在活動中使用多少個碎片。例如,我們想使用兩個碎片來處理裝置的橫向和縱向模式。
接下來,根據碎片的數量,建立擴充套件Fragment類的類。Fragment類具有上述回撥函式。您可以根據需要重寫任何函式。
對於每個碎片,都需要在XML檔案中建立佈局檔案。這些檔案將具有為定義的碎片提供的佈局。
最後,修改活動檔案以定義根據您的需求替換碎片的實際邏輯。
碎片型別
基本上,碎片分為如下三個階段:
