0

根据 Android 开发者的建议,对于成长中的项目,建议使用嵌套导航

NavHost(navController, startDestination = "home") {
    ...
    loginGraph(navController)
    ...
}

fun NavGraphBuilder.loginGraph(navController: NavController) {
    navigation(startDestination = "username", route = "login") {
        composable("username") { ... }
        composable("password") { ... }
        composable("registration") { ... }
    }
}

但是我应该怎么做才能像在这个例子中那样深入链接到导航中的导航,以便转到“用户名”可组合

我已经设法像开发人员页面中显示的那样进行正常的深层链接

用可组合的嵌套导航包围内部嵌套导航并将深层链接放在那里会更好吗?

NavHost(navController, startDestination = "home") {
    ...
    val deeplinkuri = "..."
    composable(
        route="loginGraphScreen",
        deepLinks = listOf(navDeepLink {
                    uriPattern = deeplinkuri
                }),
    ){
        loginGraph(navController)
    }
    ...
}
4

1 回答 1

0

我不能用深层链接做一个嵌套图,所以我只是让它像 NavGraphBuilder 的扩展

它仍然可以在具有深层链接的同时使代码更易于管理

fun NavGraphBuilder.loginGraph(navController: NavController) {
    composable("username", deepLinks= ....) { ... }
    composable("password") { ... }
    composable("registration") { ... }
}
于 2021-12-08T03:40:51.187 回答