Android Fragment(底部导航)的使用

前言

  • Fragment 是 activity 的界面中的一部分或一种行为。
  • 你可以把多个 Fragment 们组合到一个activity中来创建一个多面界面并且你可以在多个 activity 中重用一个Fragment。
  • 你可以把 Fragment 认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在 activity 运行时被添加或删除。同时,使用 Fragment 可以 轻松得创建动态灵活的 UI 设计,可以适应于不同的屏幕尺寸,从手机到平板电脑。 Fragment 替代 TabActivity 做导航,性能更好。

基本使用

开启viewBinding

  1. 首先新建好项目之后,在build.gradle文件里面加入一行东西
1
2
3
4
// 开启viewBinding
buildFeatures {
viewBinding true
}

  • 在设置这个之后,通过View Binding替换findViewById。,可以更好地进行视图绑定

新建底部导航选项

  1. 在res文件夹里面新建一个名叫menu的文件夹,再新建一个Menu Resource File,填好菜单名之后即可

  1. 再在res文件夹里面新建一个名叫navigation的文件夹,然后新建一个Navigation Resource File,填好新建文件名即可,这里我填了:mobile_navigation

  1. 新建好文件之后,关掉再重新双击mobile_navigation,应该会弹出个警告,我们点OK就行了,弄好之后页面应该是下面这样的。

新建导航页面

  1. 这里我们新建三个空页面作为底部导航要切换的Fragment页面

  1. 对三个空页面加个text元素作区别

  1. 点击menu,增加底部导航选项item,注意:item的id必须与导航图mobile_navigation.xml中对应节点(fragment)的id一致(相同)

  1. 返回主页面,找到NavHostFragment控件,增加,作为导航切换的地方。增加BottomNavigationView控件,增加,作为导航切换的底部选项栏。

  1. 选择对应的导航xml文件

  1. 回到menu.xml文件,给每个item增加导航icon和id,注意:id必须与导航图mobile_navigation.xml中对应节点(fragment)的id一致(相同),id的格式为 @+id 加上导航页面节点的id

  1. 回到主页面,点击BottomNavigationView,找到menu选项,加入我们刚刚配置好的menu.xml文件