Fragment功能詳解

(1)Fragment可以作爲Activity界面的一部分組成出現

(2)可以再一個Activity中同時出現多個Fragment,並且一個Fragment也可以再多個Activity中使用

(3)在Activity運行過程中,可以添加,移除或替換Fragment

(4)Fragment可以響應自己的輸入事件,並且有自己的生命週期,他們的生命週期會受宿主Activity的生命週期影響

 

onCreateView()方法

Fragment第一次繪製它的用戶界面的時候,系統會調用此方法,爲了繪製Fragment的UI,此方法必須返回一個View,如果不顯示UI,返回null即可。


Fragment加載方法

(1)靜態加載

在Activity的layout文件中聲明Fragment,需要特別注意的是<fragment>中的android:name屬性制定了在layout中實例化的Fragment類


標識Fragment的方法

android:id屬性提供一個唯一ID

android:tag屬性提供一個唯一字符串

(2)動態加載

撰寫代碼將Fragment添加到一個Activity layout中 add():添加一個Fragment(指定要添加的fragment和插入的View) 與此類似的還有remove(),替換()


處理Fragment事務

根據用戶的交互情況,對Fragment進行添加,移除,替換,以及執行其他動作,提交給Activity的每一套變化被稱作一個事務。

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction beginTransaction = fragmentManager.beginTransaction();

每一個事務都是同事執行一套變化,可以在一個事務中設置你所有想執行的變化,包括add(),remove(), replace(),然後提交給Activity,必須調用commit()方法


如果允許用戶通過按下BACK按鍵返回到前一個Fragment狀態,調用commit()之前可以加入addToBackStack()方法


Fragment與Activity通信

   > Fragmen的生命週期

         關鍵方法:

                    onAttach()

                    onCreateView()

     全部方法:

      (1)啓動Fragment

                      onAttach()    ====>onCreate()  ====>  onCreateView()   ===> onActivityCreated()   ===>   onStart()  ===>onResume()

      (2) 屏幕鎖屏

             onPause()   ====>  onStop()

      (3) 屏幕解鎖

              onStart()  ====>  onResume()


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