**在運行時添加碎片**
**[點擊獲取源碼](http://download.csdn.net/detail/u012904198/7336767)**
將UI分割為多個可配置的部分是碎片的優勢之一,但其真正強大之處在于可在運行時動態地把它們添加到活動中。
1、使用上一篇創建的Fragments項目,在main.xml文件中注釋掉兩個<fragment>元素;
2、在FragmentActivity.java中添加下面的代碼:
~~~
FragmentManager fragmentManager = getSupportFragmentManager();//向活動添加碎片
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();//添加FragmentTransaction來操作碎片
//獲取設備當前的屏幕信息:判斷處于縱向模式還是橫向模式
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
if (display.getWidth() > display.getHeight()) {
//橫向模式
Fragment1 fragment1 = new Fragment1();
fragmentTransaction.replace(android.R.id.content, fragment1);
} else {
//縱向模式
Fragment2 fragment2 = new Fragment2();
fragmentTransaction.replace(android.R.id.content, fragment2);
}
fragmentTransaction.commit();提交更改
~~~
3、在模擬器上運行程序,效果如下:
當設備處于縱向模式時,顯示碎片2,:

當設備處于橫向模式時,顯示碎片1:

- 前言
- Android應用程序剖析
- (一)——生命周期
- (二)——使用Intent傳數據之通用方式
- (三)——使用靜態變量傳遞數據
- (四)——通過剪切板傳遞數據
- (五)——通過全局變量傳遞數據
- (六)——從Activity返回數據
- adt-bundle-linux-x86_64-20131030下新建工程提示找不到adb和R.java問題的解決
- Eclipse啟動時提示fail to create the Java Virtual Machine問題的解決
- Android常見UI組件之ListView(一)
- Android常見UI組件之ListView(二)——定制ListView
- (七)——顯示對話框窗口
- (八)——顯示進度對話框
- (九)——更復雜的進度對話框
- (十)——使用意圖鏈接活動
- (十一)——從意圖返回結果
- (十二)——使用意圖傳遞數據的幾種方式
- (十三)——碎片(一)
- (十四)——在運行時添加碎片(附源碼)
- (十五)——碎片的生命周期(附源碼)
- (十六)——碎片之間進行交互(附源碼)
- (十七)——使用意圖調用內置應用程序
- (十八)——使用意圖篩選器和實現瀏覽網頁(附源碼)