?Fragment是Android3.0開始引入的組件,它可以Activity分成多個可重用的組件秸歧,每個fragment都有自己的生命周期厨姚。
Fragment的生命周期
還不知道fragment生命周期的朋友可以去查一下,這里主要講如何使用fragment寥茫。
onAttach()-onCreate()-onCreateView()-onActivityCreated()-onStart()-onResume()-onPause-onStop()-onDestoryView()-onDestory()-onDetach()
使用
1遣蚀,創(chuàng)建新項目。
2纱耻,準備MainActivity的XML布局芭梯,(動態(tài)添加fragment),界面下面4個按鈕可以實現(xiàn)fragment的切換弄喘,fl_content做于容器來放置fragment(背景紅色主要為了方便大家看布局玖喘,待會兒就刪掉)
3,Activity的XML布局我們寫好了蘑志,那現(xiàn)在去寫4個Fragment的子類累奈,并且重寫Fragment的OnCreateView方法(必須),fragment也需要XML布局文件贬派,也準備對應的4個XML文件,為了方便澎媒,布局文件只是背景顏色不同搞乏,準備好了之后在Fragment的OnCreateView方法里面注入XML布局文件通過:View view = inflater.inflate(R.layout.fragment_find,container,false);? ?其它三個fragment的子類同樣如此注入布局 (暫時不管Activity的代碼,等我們把fragment準備好)
4戒努,F(xiàn)ragment準備好了请敦,那么回到Activity,現(xiàn)在做一些初始化的操作:new fragmetn储玫,findViewByID,實現(xiàn)OnClickListener的OnClick方法設(shè)置監(jiān)聽事件……
5侍筛,fragment new出來了,那我們現(xiàn)在可以把它顯示到我們的界面上了吧撒穷?我們先把fragment裝進List方便操作匣椰,需要介紹一下需要用的類
FragmentManager:Fragment的管理器,主要用來對Fragment進行管理端礼。它是一個抽象類禽笑,不能通過new來獲取,需要通過getFragmentManager或getSupportFragmentManager獲得?
FragmentTransaction:事務齐媒,fragmentManager是以事務為單位來管理的蒲每,通過fragmentManager.beginTransaction()來獲得一個FragmentTransaction對象,然后進行添加喻括,替換邀杏,刪除等,最后commit提交唬血,這整個過程從begin到commit進行的所有操作就是一個事務望蜡,每個commit提交一個事務
然后來看一下我們現(xiàn)在實現(xiàn)的效果
6,emmm拷恨,這個時候可以進行最后一步了脖律,frgament的切換,直接看圖看注釋吧
7腕侄,好了小泉,結(jié)束了,fragment使用就這幾個步驟冕杠,emmm? 我這無法錄制視頻微姊。但我手機上運行時沒有問題的。大家有問題歡迎討論分预,第一次寫文章兢交,有不足的歡迎大家提建議。