gpt4 book ai didi

android - 如何处理 Jetpack Compose 中的导航?

转载 作者:行者123 更新时间:2023-12-02 11:48:50 43 4
gpt4 key购买 nike

在 Jetpack Compose 中,导航应该如何完成?所有(并且没有很多)示例(包括来自 Google 的官方示例)都使用密封类并加载新屏幕以响应观察当前屏幕的变化。这确实(有点)工作,但不提供导航后台堆栈,并且手机的后退按钮完全不知道,只是关闭应用程序而不是返回上一个屏幕。这是否应该以某种方式与 AndroidX 的导航组件融合——但它是基于 XML 的,而 Compose 就是要远离 XML?还是有一个全新的导航概念即将到来,可能类似于 SwiftUI(navigationlink 等)?这似乎是最大的障碍之一 - 因为没有导航,您只能拥有一个玩具应用程序。有人知道这里的路线图吗?

最佳答案

已为 Compose 导航发布了新的 Jetpack 库。它仍处于 alpha 阶段。
在这个新库中,现在用户可以使用导航组件功能在不同的可组合之间导航。
使用 导航-撰写 :

dependencies {
def nav_compose_version = "1.0.0-alpha01"
implementation "androidx.navigation:navigation-compose:$nav_compose_version"
}

示例:
第一步:创建 NavController通过使用 rememberNavController()可组合中的方法: Link :
val navController = rememberNavController()
第二步:创建 NavHost需要 NavController先前通过 rememberNavController() 创建以及图表的起始目的地的路线: Link .
NavHost(navController, startDestination = "profile") {
composable("profile") { Profile(...) }
composable("friendslist") { FriendsList(...) }
...
}
第三步:要导航到可组合使用 navigate() :
fun Profile(navController: NavController) {
...
Button(onClick = { navController.navigate("friends") }) {
Text(text = "Navigate next")
}
...
}
查看更多 https://developer.android.com/jetpack/compose/navigation

关于android - 如何处理 Jetpack Compose 中的导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59620988/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com