Android Fragment的用法實例詳解
碎片,它的出現(xiàn)是為了更好展示UI的設(shè)計,讓程序更加得到充分的展示。Fragment的出現(xiàn),如微信的額主界面包含多個Fragment,使得微信功能更加簡潔明了。
Fragment組件
Fragment是Android 3.0的時候被引入的,主要目的是為了給大屏幕(如平板電腦)添加動態(tài)和靈活的UI支持。利用Fragment實現(xiàn)更好的用戶體驗。
Fragment加載
1.靜態(tài)加載:添加Fragment到Activity布局中,以xml的形式。
2.動態(tài)加載:
<LinearLayout android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> </LinearLayout> //動態(tài)加載 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。
第三步,調(diào)用addToBackStack(true)方法,目的為了允許用戶通過按下返回按鍵返回到前一個Fragment狀態(tài),beginTransaction.commit()提交。
FragmentPagerAdapter和FragmentStatePagerAdapter
FragmentPagerAdapter適用于頁面較少的情況,把UI分離,并沒有回收,F(xiàn)ragmentStatePagerAdapter適用于頁面較多的情況,每次切換會回收內(nèi)存的。
Fragment生命周期
Fragment有四種狀態(tài):運行狀態(tài),暫停狀態(tài),停止狀態(tài),銷毀狀態(tài)。
圖片來源官方:
onAttach():
一旦片段與其活動相關(guān)聯(lián)就被調(diào)用;
onCreate():
片段被調(diào)用創(chuàng)建;
onCreateView():
創(chuàng)建并返回相關(guān)的視圖結(jié)構(gòu);
onActivityCreated():
表示活動已被創(chuàng)建完成了,這里是activity創(chuàng)建成功;
onStart():
片段對用戶可見;
onResume():
片段與用戶開始交互;
onPause():
片段與用戶不再交互;
onStop():
片段不再對用戶可見;
onDestroyView():
銷毀與其View相關(guān)資源;
onDestroy():
銷毀一切片段;
onDetach():
片段與其活動不再相關(guān)聯(lián)。
打開界面:onCreate() -> onCreateView()->onActivityCreated()->onStart()-> onResume()
Home:onPause() -> onStop()
回到界面: onStart() -> onResume()
回退: onPause() -> onStop() ->onDestroyView() -> onDestroy()-> onDetach()
Fragment通信
MyFragment myFragment = (MyFragment)fragmentManager(). findFragmentById(R.id.layout); MainActivity activity=(MainActivity)getActivity();
Fragment方法
1.replace()為FragmentManager的方法。
2.add()添加
3.remove()刪除
總結(jié)
以上所述是小編給大家介紹的Android Fragment的用法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Android RippleDrawable 水波紋/漣漪效果的實現(xiàn)
這篇文章主要介紹了Android RippleDrawable 水波紋/漣漪效果的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08Android仿新浪微博oauth2.0授權(quán)界面實現(xiàn)代碼(2)
這篇文章主要為大家詳細介紹了Android仿新浪微博oauth2.0授權(quán)界面實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11Android使用recyclerview打造真正的下拉刷新上拉加載效果
這篇文章先介紹如何使用這個recyclerview,WZMRecyclerview 是一個集成了 下拉刷新、上拉加載、滑到底部自動加載、添加刪除頭尾部 四個主要功能的recyclerview,需要的朋友可以參考下2016-11-11android listview優(yōu)化幾種寫法詳細介紹
這篇文章只是總結(jié)下getView里面優(yōu)化視圖的幾種寫法,需要的朋友可以參考下2012-11-11基于Android-Skin-Loader實現(xiàn)換膚效果
這篇文章主要為大家詳細介紹了基于Android-Skin-Loader實現(xiàn)換膚效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03Android app開發(fā)中的Fragment入門學習教程
這篇文章主要介紹了Android app開發(fā)中的Fragment入門學習教程,包括Fragment的創(chuàng)建和XML布局文件中的Fragment定義等,需要的朋友可以參考下2016-02-02Android開發(fā)之無痕過渡下拉刷新控件的實現(xiàn)思路詳解
下拉刷新效果功能在程序開發(fā)中經(jīng)常會見到,今天小編抽時間給大家分享Android開發(fā)之無痕過渡下拉刷新控件的實現(xiàn)思路詳解,需要的朋友參考下吧2016-11-11