fragment
是android 3.0
的時候被引入的,主要目的是為了給大螢幕(如平板電腦)新增動態和靈活的ui支援。利用fragment
實現更好的使用者體驗。
靜態載入:新增fragment
到activity
布局中,以xml
的形式。
動態載入:
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
適用於頁面較少的情況,把ui
分離,並沒有**,fragmentstatepageradapter
適用於頁面較多的情況,每次切換會**記憶體的。
fragment
有四種狀態:執行狀態,暫停狀態,停止狀態,銷毀狀態。
一旦片段與其活動相關聯就被呼叫;
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()
replace()
為fragmentmanager
的方法。
add()
新增
remove()
刪除Android fragment介面通訊
fragment 通過介面呼叫activity方法 在fagment中定義介面 public inte ce callbacks 在attach中將activity傳遞的物件例項化為介面 然後就跟普通的物件呼叫一樣 override public void onattach activity act...
Android Fragment完全解析
為了讓介面可以在平板上更好地展示,android在3.0版本引入了fragment 碎片 功能,它非常類似於activity,可以像activity一樣包含布局。fragment通常是巢狀在activity中使用的,現在想象這種場景 有兩個fragment,fragment 1包含了乙個listvi...
Android Fragment滑動切換
1,因為要進行滑動,所以中文在布局中就進行viewpager布局 android id id vp container android layout width match parent android layout height match parent android.support.v4.vi...