android的fragment

採用fragment而不是activity進行應用的UI管理,可繞開Android系統activity規則的限制。

1.使用佈局fragment

這種方式雖然簡單但靈活性不夠。
添加fragment到activity佈局中,就等同於將fragment及其視圖與activity的視圖綁定在一起,
在activity的生命週期過程中,無法切換fragment視圖。

public class RightFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.right_fragment, container, false); 
    return view;
    }
}

這裏僅僅是重寫了 Fragment 的 onCreateView()方法,然後在這個方法中通過 LayoutInflater 的 inflate()方法將剛纔定義的 left_fragment 佈局動態加載進來,整個方法 簡單明瞭。

2.唯一一種可以在運行時控制fragment的方式

我們可以決定何時將fragment添加到activity中以及隨後可以完成何種具體任務;
也可以移除fragment,用其他fragment代替當前fragment,然後再重新添加已移除的fragment。
因而,爲獲得真正的UI設計靈活性,我們必須通過代碼的方式添加fragment。

動態添加碎片主要分爲 5 步。
1. 創建待添加的碎片實例。
2. 獲取到 FragmentManager,在活動中可以直接調用 getFragmentManager()
方法得到。
3. 開啓一個事務,通過調用 beginTransaction()方法開啓。
4. 向容器內加入碎片,一般使用 replace()方法實現,需要傳入容器的 id 和待添加的
碎片實例。
5. 提交事務,調用 commit()方法來完成。

Fragment的生命週期
1. onAttach() 當碎片和活動建立關聯的時候調用。
2. onCreateView() 爲碎片創建視圖(加載佈局)時調用。
3. onActivityCreated() 確保與碎片相關聯的活動一定已經創建完畢的時候調用。
4. onDestroyView() 當與碎片關聯的視圖被移除的時候調用。
5. onDetach()

發佈了31 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章