**在运行时添加碎片**
**[点击获取源码](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,:
![](https://box.kancloud.cn/2016-08-23_57bc06b86a21b.jpg)
当设备处于横向模式时,显示碎片1:
![](https://box.kancloud.cn/2016-08-23_57bc06b89d291.jpg)
- 前言
- 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
- (七)——显示对话框窗口
- (八)——显示进度对话框
- (九)——更复杂的进度对话框
- (十)——使用意图链接活动
- (十一)——从意图返回结果
- (十二)——使用意图传递数据的几种方式
- (十三)——碎片(一)
- (十四)——在运行时添加碎片(附源码)
- (十五)——碎片的生命周期(附源码)
- (十六)——碎片之间进行交互(附源码)
- (十七)——使用意图调用内置应用程序
- (十八)——使用意图筛选器和实现浏览网页(附源码)