Android 常用組件之一,可以有效解決不同螢幕分辯率的動態和靈活UI設計。
基本介紹
- 中文名:碎片、片段
- 外文名:Fragment
大螢幕如平板,小螢幕如手機,平板電腦的設計使得其有更多的空間來放更多的UI組件,而多出來的空間存放UI使其會產生更多的互動,從而誕生了fragments 。fragments 的設計不需要你來親自管理view hierarchy 的複雜變化,通過將Activity 的布局分散到frament 中,可以在運行時修改activity 的外觀,並且由activity 管理的back stack 中保存些變化。
Fragement生命周期:
(1)、onAttach()//當一個Fragment對象關聯到一個Activity時調用。
(2)、onCreate()//初始創建Fragment對象時調用。系統創建Fragments 時調用,可做執行初始化工作或者當程式被暫停或停止時用來恢復狀態,跟Activity 中的onCreate相當。
(3)、onCreateView()//創建與Fragment對象關聯的View視圖時調用。用於首次繪製用戶界面的回調方法,必須返回要創建的Fragments 視圖UI。假如你不希望提供Fragments 用戶界面則可以返回NULL。
(4)、onActivityCreated()//當Activity對象完成自己的onCreate方法時調用。
(5)、onStart()//Fragment對象在ui可見時調用。
(6)、onResume()//Fragment對象的ui可以與用戶互動時調用。
(7)、onPause()//Fragment對象可見,但不可互動。有Activity對象轉為onPause狀態時調用。 當用戶離開這個Fragments 的時候調用,這時你要提交任何應該持久的變化,因為用戶可能不會回來。更多的事件可以參考上圖的生命周期關係圖。
(8)、onStop()//有空間完全遮擋;或者宿主Activity對象轉為onStop狀態時調用。
(9)、onDestroyView()//Fragment對象清理view資源時調用,也就是移除fragment中的視圖。
(10)、onDestroy()//Fragment對象完成對象清理View資源時調用。
(11)、onDetach()//Fragment對象沒有與Activity對象關聯時調用。
當一個fragment被創建的時候執行1-4;
當這個fragment創建完畢,到對用戶可見的時候,執行5-6;
當這個fragment從可見到不可見時,執行7-8;
當這個fragment被銷毀了(或者持有它的activity被銷毀了),執行9-11;
另外在3-5,可以使用Bundle對象保存一個fragment的對象。