Fragment的設計哲學

一、Fragment基礎詳解

1、Android在3.0中引入了Fragments的概念,主要目的是用在大屏幕設備上——例如平板電腦,支持更加動態和靈活的UI設計。平板電腦比手機打得多,有更多的空間來放更多的UI組件,並且這些組件之間會產生更多的交互
2、Fragment在應用中應當是一個模塊化和可重用的組件,因爲Fragment定義了它自己的佈局,以及通過使用它自己的生命週期回調方法定義了它自己的行爲,可以將Fragment包含到多個Activity中。

二、Fragment知識概要

1、Fragment可作爲Activity界面的一部分組成出現
2、可以在一個Activity中同時出現多個Fragment,並且一個Fragment也可以在多個Activity中使用
3、在Activity運行過程中,可以添加、移除或替換Fragment
4、Fragment可以響應自己的輸入事件,並且有自己的生命週期,它們的生命週期會受宿主Activity的生命週期影響
5、onCreateView()方法
Fragment第一次繪製它的用戶界面的時候,系統會調用此方法,爲了繪製Fragment的UI,此方法必須返回一個View,如果不顯示UI,返回null即可
6、Fragment加載方式
(1)靜態加載
在Activity的layout文件中聲明Fragment,需要特別注意的是中的android:name屬性指定了再layout中實例化的Fragment類
標識Fragment的方法:
android:id屬性提供一個唯一ID
android:tag屬性提供一個唯一字符串
(2)動態加載
1)將Fragment添加到一個Activity layout中add():添加一個Fragment(指定要添加的fragment和插入的View)
與此類似的還有remove()、替換()
2)處理Fragment事務
根據用戶的交互情況,對Fragment進行添加、移除、替換,以及執行其他動作,提交給Activity的每一套變化被稱作一個事務。
每個事務都是同事執行一套變化,可以在一個事務中設置你所有想執行的變化,包括add()、remove()、replace(),然後提交給Activity,必須調用commit()方法
如果允許用戶通過按下BACK按鍵返回到前一個Fragment狀態,調用commit()之前可以加入addToBackStack()方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章