編輯:關於android開發
Fragment碎片:作為Activity的一部分,不能單獨使用;
1. Fragment特點:
(1)一個Fragment可以在多個Activity中重用;
(2)一個Activity內部可以嵌入多個Fragment;
2. Fragment生命周期:
1)啟動app:
Activity:onCreate()àonStart()àonResume();
Fragment:
onAttach()àonCreate()àonCreateView()àonActivityCreated()àonStart()àonResume();
2)運行狀態到暫停狀態:
Activity:onPause()àonStop();
Fragment:onPause()àonStop();
3)暫停狀態到運行狀態:
Activity:onRestart()àonStart()àonResume();
Fragment:onStart() àonResume();
4)運行狀態到銷毀狀態:
Activity: onPause()àonStop()àonDestroy();
Fragment:onPause()àonStop()àonDestroyView()àonDestroy()àonDetach();
(1)onAttach():關聯Fragment和Activity;可以在此方法中獲取當前Fragment所在的Activity;
(2)onCreate():Fragment創建時調用此方法;可以初始化View的控件;
(3)onCreateView():繪制Fragment的UI界面時調用此方法;必須返回一個View對象,如果返回為null,則該Fragment不會顯示內容;
(4)onActivityCreated():當前Fragment所在Activity的onCreate()執行完成後回調此方法;
(5)onStart():能看到部分界面但是不能交互;
(6)onResume():運行狀態,可以交互;
(7)onPause():暫停狀態,不能交互;
(8)onStop():停止狀態:看不到UI界面;
(9)onDestroyView():Fragment從Activity中移除View時回調此方法;
(10)onDestroy():Fragment被銷毀時回調的方法;
(11)onDetach():Fragment和所在的Activity失去關聯回調此方法;
3. 創建Fragment:
(1)創建Fragment的xml布局文件;
(2)創建Fragment子類,繼承Fragment類或者Fragment子類;
(3)重寫回調方法onCreate(), onCreateView(), onPause()等方法;
1)onCreate():創建Fragment時回調此方法,可以初始化View以外的控件;
2)onCreateView():繪制Fragment的UI界面時回調此方法,必須返回一個View視圖對象,作為當前Fragment的顯示視圖;
該方法傳入布局加載器,用該布局加載器調用inflate()加載fragment的布局文件,傳入三個參數:參數1:要加載的Fragment布局文件;參數2:該Fragment所在的容器;參數3:布爾值;之後返回布局加載器加載的視圖;
注意:(1)如果參數2設置為null,則會直接返回創建的視圖;
(2)(推薦)如果參數2設置為傳入的container容器,參數3為false,則會從容器中得到LayoutParams,對要加載的視圖設置LayoutParams;
(3)如果參數2設置為傳入的container容器,參數3為true,則將要加載的子視圖放在container容器中;
4. 將Fragment嵌入到Activity中:
(1)第一種方式:靜態標簽添加:
使用fragment標簽,必須添加屬性id指定當前fragment的id和屬性name指定包名;
(2)第二種方式(常用):代碼動態嵌入:
1)獲取碎片管理器,上下文調用getFragmentManager()獲得FragmentManager對象;
2)開啟事務,FragmentManager對象調用beginTransaction()獲得FragmentTransaction對象;
3)動態將Fragment嵌入到Activity中,包括add()添加,replace()替換,remove()移除等;
添加和替換時需要傳入兩個參數:參數1:將Fragment放入的容器中;
參數2:要放進容器中的Fragment對象;
4)提交事務,FragmentTransaction對象調用commit()提交;
注意:事務一定進行提交之後,才會運行;
Android種使用Notification實現通知管理以及自定義通知欄(Notification示例四),自定義notification示例一:實現通知欄管理 當針對相
三行代碼實現白天夜間模式流暢切換的實現庫,三行白天Usage xml android:background= ?attr/zzbackground app:backgro
Android 貝塞爾曲線實現QQ拖拽清除效果 純屬好奇心驅動寫的一個學習性Demo,效果如下: 兩個帶圓弧的線就是由三點確認的一個貝塞爾曲線: 在Android已經
A DB2 Performance Tuning Roadmap --LOG INTRODUCTION本文的內容是在整理報表時,對DB2 STAT LOG AVITIVI
Android——eclipse下運行android項目報錯 Conve