一、实验内容
1. 实现CiriminalIntent的Fragment的竖屏界面
2. 实现CiriminalIntent的Fragment的横屏界面
3. 在Activity中加载一个Fragment的基本流程
4. 使用Fragment设计UI有哪些好处?
二、具体实现
strings.xml
activity_crime_list.xml
fragment_crime.xml
fragment_crime_list.xml
CrimeListActivity
Crime
CrimeFragment
CrimeListFragment
三、运行结果
四、问题解答
在Activity中加载一个Fragment的基本流程?
将Fragment加载到Activity当中有两种方式:
方式一:添加Fragment到Activity的布局文件当中
方式二:在Activity的代码中动态添加Fragment
第一种方式虽然简单但灵活性不够。添加Fragment到Activity的布局文件当中,就等同于将Fragment及其视图与activity的视图绑定在一起,且在activity的生命周期过程中,无法切换fragment视图。
第二种方式比较复杂,但也是唯一一种可以在运行时控制fragment的方式(加载、移除、替换)。
在Activity的布局文件中添加Fragment:(不推荐)
(1)新建文件fragment_***.xml和***Fragment.java:
(2)将Fragment添加到Activity的布局中,其中android:name属性填上你自己创建的fragment的完整类名。
使用Fragment设计UI有哪些好处?
1.Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。
2.Fragment可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。
3.Fragment是一个独立的模块,紧紧地与activity绑定在一起。可以运行中动态地移除、加入、交换等。
4.Fragment提供一个新的方式让你在不同的安卓设备上统一你的UI。
5.Fragment 切换流畅,轻量切换。
6.Fragment 替代TabActivity做导航,性能更好。
7.Fragment 在4.2.版本中新增嵌套fragment使用方法,能够生成更好的界面效果。
Fragment做局部内容更新更方便,原来为了到达这一点要把多个布局放到一个activity里面,现在可以用多Fragment来代替,只有在需要的时候才加载Fragment,提高性能。
可以从startActivityForResult中接收到返回结果,但是View不能。