如何在Jetpack Compose中处理导航?

德米特里

在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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Firefox中访问Jetpack构建的扩展程序的背景页面?

来自分类Dev

如何在跨平台应用程序中处理基于UI的导航?

来自分类Dev

如何在Xamarin Forms中处理/取消向后导航

来自分类Dev

如何使用SWIFT处理导航栏中BackBarButtonItem的单击事件?

来自分类Dev

如何在Jetpack Compose中实现此按钮动画?

来自分类Dev

如何使用Jetpack Compose在Android中添加图像

来自分类Dev

如何在Jetpack Compose中的LazyColumn / LazyRow中禁用和启用滚动?

来自分类Dev

如何使用Jetpack Compose创建GridView

来自分类Dev

如何在Compose Jetpack中创建回收者视图?

来自分类Dev

如何在Jetpack Compose中获取上下文

来自分类Dev

如何使用Jetpack Compose制作动画?

来自分类Dev

我们如何在Android Jetpack Compose UI中将文本格式化为上标或下标?

来自分类Dev

如何使用Jetpack导航创建动态/条件导航?

来自分类Dev

如何在Jetpack中对齐行元素

来自分类Dev

Jetpack Compose中的AdjustViewBounds模拟

来自分类Dev

Jetpack Compose如何请求权限?

来自分类Dev

如何在Jetpack的Compose中管理Focus状态

来自分类Dev

如何在Jetpack Compose中使用CameraView?

来自分类Dev

如何在Android Jetpack Workmanger中输入和输出对象数据?

来自分类Dev

如何在Jetpack Compose中设置按钮的宽度动画

来自分类Dev

描述如何在非等宽文本中处理导航的标准?

来自分类Dev

如何在Jetpack Compose中添加保证金?

来自分类Dev

如何在Jetpack Compose中引用主题属性?

来自分类Dev

如何在React Navigation v4中处理未初始化的导航ref?

来自分类Dev

如何在Jetpack Compose中从可组合内容导航到活动或片段?

来自分类Dev

使用Android Jetpack导航时如何禁用导航图标

来自分类Dev

如何在Jetpack Compose中将TextUnit转换为Dp?

来自分类Dev

如何在Jetpack Compose中实现此按钮动画?

来自分类Dev

如何在Wp7应用程序中处理Web浏览器的前进和后退导航

Related 相关文章

  1. 1

    如何在Firefox中访问Jetpack构建的扩展程序的背景页面?

  2. 2

    如何在跨平台应用程序中处理基于UI的导航?

  3. 3

    如何在Xamarin Forms中处理/取消向后导航

  4. 4

    如何使用SWIFT处理导航栏中BackBarButtonItem的单击事件?

  5. 5

    如何在Jetpack Compose中实现此按钮动画?

  6. 6

    如何使用Jetpack Compose在Android中添加图像

  7. 7

    如何在Jetpack Compose中的LazyColumn / LazyRow中禁用和启用滚动?

  8. 8

    如何使用Jetpack Compose创建GridView

  9. 9

    如何在Compose Jetpack中创建回收者视图?

  10. 10

    如何在Jetpack Compose中获取上下文

  11. 11

    如何使用Jetpack Compose制作动画?

  12. 12

    我们如何在Android Jetpack Compose UI中将文本格式化为上标或下标?

  13. 13

    如何使用Jetpack导航创建动态/条件导航?

  14. 14

    如何在Jetpack中对齐行元素

  15. 15

    Jetpack Compose中的AdjustViewBounds模拟

  16. 16

    Jetpack Compose如何请求权限?

  17. 17

    如何在Jetpack的Compose中管理Focus状态

  18. 18

    如何在Jetpack Compose中使用CameraView?

  19. 19

    如何在Android Jetpack Workmanger中输入和输出对象数据?

  20. 20

    如何在Jetpack Compose中设置按钮的宽度动画

  21. 21

    描述如何在非等宽文本中处理导航的标准?

  22. 22

    如何在Jetpack Compose中添加保证金?

  23. 23

    如何在Jetpack Compose中引用主题属性?

  24. 24

    如何在React Navigation v4中处理未初始化的导航ref?

  25. 25

    如何在Jetpack Compose中从可组合内容导航到活动或片段?

  26. 26

    使用Android Jetpack导航时如何禁用导航图标

  27. 27

    如何在Jetpack Compose中将TextUnit转换为Dp?

  28. 28

    如何在Jetpack Compose中实现此按钮动画?

  29. 29

    如何在Wp7应用程序中处理Web浏览器的前进和后退导航

热门标签

归档