Fragment

Fragment
概念:
Fragment是在Android 3.0 (API level 11)開始引入新的API技術。
爲了提高代碼重用性和改善用戶體驗,我們將Activity中的UI組件進行分組和模塊化管理。這些分組後的UI組件就是Fragment。
一個Activity頁面中可以包含多個Fragment模塊,而同一個Fragment模塊也可以被多個Activity使用。每個Fragment有自己的佈局,有自己的生命週期。雖然Fragment擁有自己的生命週期,但因爲Fragment必須被嵌入到Activity中使用,因此Fragment的生命週期是受其Activity宿主的生命週期所控制的。當Activity暫停時,該Activtiy內的所有Fragment都會暫停;當Activity被銷燬時,該Activity內的所有Fragment都會被銷燬。

局部內容切換,UI模塊的佈局和代碼重用,有生命週期
這裏寫圖片描述
fragment的定義:
自定義類繼承於Fragment, android.support.v4.app.Fragment
生命週期方法:
1、onAttach(): 當該Fragment被添加到Activity時被回調。該方法只會被調用一次;

2、onCreate(): 當創建Fragment時被回調。該方法只會被調用一次;

3、onCreateView():每次創建、繪製該Fragment的View組件時回調該方法,Fragment將會顯示該方法返回的View 組件;

4、onActivityCreated(): 當Fragment的宿主Activity被啓動完成後回調該方法;

5、onStart(): 啓動Fragment時被回調;

6、onResume(): onStart()方法後一定會回調onResume()方法;

7、onPause(): 暫停Fragment時被回調;

8、onStop(): 停止Fragment時被回調;

9、onDestroyView(): 銷燬該Fragment所包含的View組件時調用;

10、onDestroy(): 銷燬Fragment時被回調。該方法只會被調用一次;

11、onDetach(): 將Fragment從Activity中刪除、替換完成時調用該方法。onDestroy()方法後一定會回調onDetach()方法。
該方法只會被調用一次。

這裏寫圖片描述
Activity中有一個Fragment,Fragment裏有一個View.

FragmentManager,Fragment管理者

Fragment的使用1靜態2動態
一 靜態
在activity中添加標籤
可以通過fragmentManager.findFragmentById()獲取到靜態fragment對象
【備註:】
標籤的android:id 和 android:tag屬性必須至少有一個,同一個xml文件中id或tag必須唯一;
標籤的class 和 android:name屬性功能完全相同,使用其中任何一個即可。
二 動態
這裏寫圖片描述
相互傳值
不管動態加載或者靜態加載,fragment向activity傳值都可以使用接口回調的方式
activity向fragment:官方推薦動態加載的時候使用setArguments(Bundle),傳值
Arguments(Bundle)取值。
靜態加載 不能使用setArguments
add() remove() replace() hide() show()
返回上一個fragment popbackstack 返回鍵監聽
這裏寫圖片描述
這裏寫圖片描述
newInstance()
這裏寫圖片描述

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