Android Fragment用法知識點的講解

達叔小生發表於2018-08-07

標題圖

Android Fragment用法的講解

碎片,它的出現是為了更好展示UI的設計,讓程式更加得到充分的展示。Fragment的出現,如微信的額主介面包含多個Fragment,使得微信功能更加簡潔明瞭。

Android Fragment用法的講解.png

Fragment元件

Android Fragment元件.png

FragmentAndroid 3.0的時候被引入的,主要目的是為了給大螢幕(如平板電腦)新增動態和靈活的UI支援。利用Fragment實現更好的使用者體驗。

圖片

Fragment載入

  1. 靜態載入:新增FragmentActivity佈局中,以xml的形式。
  2. 動態載入:
<LinearLayout
 android:id="@+id/layout"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="horizontal">
</LinearLayout>
//動態載入
MyFragment fragment = new MyFragment();

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
beginTransaction.add(R.id.layout,fragment);
beginTransaction.addToBackStack(null);
beginTransaction.commit();

第一步,獲取一個FragmentManager物件,getFragmentManager()方法,beginTransaction()

第二步,beginTransaction.add()add()方法,容器檢視資源Id

第三步,呼叫addToBackStack(true)方法,目的為了允許使用者通過按下返回按鍵返回到前一個Fragment狀態,beginTransaction.commit()提交。

FragmentPagerAdapter和FragmentStatePagerAdapter

FragmentPagerAdapter適用於頁面較少的情況,把UI分離,並沒有回收,FragmentStatePagerAdapter適用於頁面較多的情況,每次切換會回收記憶體的。

Fragment生命週期

Fragment有四種狀態:執行狀態,暫停狀態,停止狀態,銷燬狀態。

圖片來源官方:

生命週期

onAttach():
一旦片段與其活動相關聯就被呼叫;

onCreate():
片段被呼叫建立;

onCreateView():
建立並返回相關的檢視結構;

onActivityCreated():
表示活動已被建立完成了,這裡是activity建立成功;

onStart():
片段對使用者可見;

onResume():
片段與使用者開始互動;

onPause():
片段與使用者不再互動;

onStop():
片段不再對使用者可見;

onDestroyView():
銷燬與其View相關資源;

onDestroy():
銷燬一切片段;

onDetach():
片段與其活動不再相關聯。

開啟介面:onCreate() -> onCreateView()->onActivityCreated()->onStart()-> onResume()

Home:onPause() -> onStop()

回到介面: onStart() -> onResume()

回退: onPause() -> onStop() ->onDestroyView() -> onDestroy()-> onDetach()

Fragment通訊

Fragment通訊.png

MyFragment myFragment = (MyFragment)fragmentManager(). findFragmentById(R.id.layout);

MainActivity activity=(MainActivity)getActivity();

Fragment方法

  1. replace()FragmentManager的方法。
  2. add()新增
  3. remove()刪除

結語

  • 本文主要講解 Android Fragment用法知識點的講解

  • 下面我將繼續對Java、 Android中的其他知識 深入講解 ,有興趣可以繼續關注

  • 小禮物走一走 or 點贊

送❤

相關文章