在使用 Navigation Component 的 Bottom Navigation 时,如果需要同时支持多个菜单,可以按照以下步骤操作:
1.在 res 目录下新建 menu 文件夹,并在该文件夹下创建多个 xml 文件,如:menu_home.xml、menu_category.xml、menu_setting.xml。
2.在 XML 中定义不同的菜单项,如:
menu_home.xml:
menu_category.xml:
...
3.在 activity_main.xml 中添加 BottomNavigationView,并设置默认菜单:
4.在 MainActivity 中使用 Navigation Controller,并在 onCreate() 中设置默认导航:
private val homeNavGraph by lazy {
// 从 navigation 中加载 Home 导航图
navController.navInflater.inflate(R.navigation.nav_home)
}
private val dashboardNavGraph by lazy {
// 从 navigation 中加载 Dashboard 导航图
navController.navInflater.inflate(R.navigation.nav_dashboard)
}
private val categoryNavGraph by lazy {
// 从 navigation 中加载 Category 导航图
navController.navInflater.inflate(R.navigation.nav_category)
}
private fun setupBottomNavigationView() {
// 绑定 BottomNavigationView 和 NavController
val bottomNavigationView = findViewById