在Jetpack Compose中,应该如何进行导航?所有(而且没有很多)示例(包括来自Google的官方示例)都使用密封类并加载新屏幕,以响应观察当前屏幕中的更改。确实可以(但是),但不提供导航堆栈,并且手机的后退按钮完全不知道,只需要关闭应用程序即可,而不是返回上一个屏幕。这是否应该以某种方式与AndroidX的导航组件融合-但它是基于XML的,而Compose就是要摆脱XML?还是出现了一个全新的导航概念,也许类似于SwiftUI(navigationlink等)?这似乎是最大的障碍之一,因为没有导航,您只能拥有一个玩具应用程序。有人知道这里的路线图吗?
已发布新的Jetpack lib用于Compose导航。它仍然处于Alpha状态。
现在,在这个新库中,用户可以使用导航组件功能在不同的可组合对象之间导航。
使用Navigation-compose:
dependencies {
def nav_compose_version = "1.0.0-alpha01"
implementation "androidx.navigation:navigation-compose:$nav_compose_version"
}
例子:
第1步:NavController
使用rememberNavController()
可组合的方法创建一个:链接:
val navController = rememberNavController()
第2步:创建需求,NavHost
需要使用NavController
先前创建的viarememberNavController()
和图形的起始目的地的路线:Link。
NavHost(navController, startDestination = "profile") {
composable("profile") { Profile(...) }
composable("friendslist") { FriendsList(...) }
...
}
步骤3:浏览至可组合的用途navigate()
:
fun Profile(navController: NavController) {
...
Button(onClick = { navController.navigate("friends") }) {
Text(text = "Navigate next")
}
...
}
检查更多https://developer.android.com/jetpack/compose/navigation
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句