使用Navigation组件实现多Fragment导航,并创建多个Fragment作为目标。以下是示例代码:
1.在app/build.gradle文件中添加以下依赖:
dependencies {
def nav_version = "2.3.5"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
}
2.在res目录下的navigation文件夹中创建一个Navigation Graph,例如nav_graph.xml文件,用于定义导航图。示例代码如下:
3.在activity或fragment的布局文件中添加一个NavHostFragment。示例代码如下:
4.在Activity或Fragment中使用NavController来处理导航事件。示例代码如下:
// 从NavHostFragment的视图获取NavController实例
val navController = findNavController(R.id.nav_host_fragment)
// 导航到目标fragment
navController.navigate(R.id.settingsFragment)
// 监听导航事件
navController.addOnDestinationChangedListener { _, destination, _ ->
// 根据目标fragment的id显示/隐藏Toolbar
when (destination.id) {
R.id.home