碎片(Fragment):嵌入在Activity中的UI片段,使程序更合理充分地利用大屏幕空间。
使用场景:平板开发
继承自Fragment类,选择support-v4库中的android.support.v4.app.Fragment (可让碎片在所有Android系统版本中保持功能一致性 )(无需在bulid.gradle中添加support-v4库的依赖)
1 碎片使用方式
1.1静态添加
右同
修改activity_main.xml:
android:name 显示指明要添加的碎片类名,一定要将类的包名也加上
1.2动态添加
步骤:
1.创建待添加的碎片实例
2.获取FragmentManager,在活动中可直接通过调用getSupportFragmentManger()方法获得
3.开启一个事务,通过调用beginTransaction()方法开启
4.向容器内添加或替换碎片,常用repalce(),需传入容器的id和待添加碎片实例
5.提交事务,调用commit()方法实现
实现:
1.创建另一个右碎片实例
2.获取FragmentManager,
1.3 在碎片中模拟返回栈
FragmentTransaction中addToBackStack()方法:用于将一个事务添加到返回栈中,修改MainActivity中的代码
transaction.addToBackStack(null);
1.4 碎片和活动之间通信
1.从活动获取碎片
findViewById():从布局文件中获取碎片实例
2.从碎片获取活动
getActivity() 获得当前碎片相关联的活动
2 碎片的生命周期
碎片的四种状态: 运行、暂停、停止、销毁
3.使用限定符
3.1 最大限定
双页模式或单页模式
android常用限定符
3.2最小限定
最小宽度限定符:Smallest-width Qualifier