零、学习目标
- 了解Fragment与Activity的关系
- 掌握Fragment的生命周期
- 学会编写多Fragment安卓程序
一、Fragment概述
- Fragment是android3.0引入的新API,它代表Activity的子模板,所以可以把fragment理解为Activity片段。
- Fragment必须被“嵌入”Avtivity中使用,因此Fragment也拥有自己的生命周期,不过Fragment的生命周期受Activity所控制,也就是说Activity停止的时候,Activity中所有的Fragment都会被停止。其他状态也是一样。
二、切换碎片–案例
1、创建安卓应用【SwitchFragment】
![在这里插入图片描述](https://img-blog.csdnimg.cn/c7db26ebac164697a39a8a5b069e0b56.png)
2、字符串资源文件strings.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/3cddd919e3b7412e942e4c7782b29f84.png)
3、主布局资源文件activity_main.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/aac2b91b5e9748339c44890d121b8bfb.png)
4、将三张背景图片拷贝到drawable目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a19f2011e9e457ca072cce2d748d5a8.png)
5.创建第一个碎片 - FirstFragment
![在这里插入图片描述](https://img-blog.csdnimg.cn/52c35e9e94164a2687309ffe0847b3a0.png)
- 修改第一个碎片的布局文件fragment_first.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/4c0c4640b6484f7f99cbed1568997e69.png)
6、创建第二碎片 - SecondFragment
![在这里插入图片描述](https://img-blog.csdnimg.cn/b66d056d52544f0d82e9459e74ecdf7b.png)
- 修改第二个碎片的布局文件fragment_second.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/79e8e99dfcaa4563b6ba2baefa7193aa.png)
7、创建第三个碎片 - ThirdFragment
![在这里插入图片描述](https://img-blog.csdnimg.cn/72c6876490f3437ab7a0be530ccfc70c.png)
- 修改第三个碎片的布局文件fragment_third.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/efe9dc55433043138b77b9ad25781c51.png)
8、主界面类MainActivity
![在这里插入图片描述](https://img-blog.csdnimg.cn/e94cad03e0864a8c8aa8061eda6f34de.png)
package net.hdl.switchfragment;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 利用布局资源文件设置用户界面
setContentView(R.layout.activity_main);
// 获取碎片管理器
FragmentManager fm = getSupportFragmentManager();
// 在主容器里添加第一个碎片
fm.beginTransaction().add(R.id.container, new FirstFragment()).commit();
}
}
9、碎片界面类实现功能
&