【发布时间】:2020-04-24 12:30:47
【问题描述】:
在 Jetpack Compose 中,导航应该如何完成?所有(并且没有很多)示例(包括来自 Google 的官方示例)都使用密封类并加载新屏幕以响应观察当前屏幕的变化。这确实(有点)工作,但不提供导航后台堆栈,并且手机的后退按钮完全不知道,只是关闭应用程序而不是返回上一个屏幕。这是否应该以某种方式与 AndroidX 的导航组件融合——但它是基于 XML 的,而 Compose 就是要远离 XML?还是有一个全新的导航概念即将到来,可能类似于 SwiftUI(navigationlink 等)?这似乎是最大的障碍之一 - 因为没有导航,您只能拥有一个玩具应用程序。有人知道这里的路线图吗?
【问题讨论】:
-
“这是否应该以某种方式与 AndroidX 的导航组件融合”——是的。 “Compose 就是要远离 XML”——不,Compose 就是要远离
View层次结构。这具有消除传统布局资源的副作用。这并没有消除绝大多数资源。 “有人知道这里的路线图吗?” -- 这一切都在进行中。 -
谢谢。了解其正在进行的工作,但我认为了解路线图具有非常实际的意义 - 例如,如果 Compose 起飞后将被其他东西取代,是否值得投资学习一种新的做事方式(AndroidX 导航) .他们已经在 Compose 上工作了一段时间,而且像导航这样大的东西肯定至少有一些架构路线图,并且没有互联网搜索显示任何关于该路线图的信息
-
我所看到的一切都表明他们的意图是利用导航组件。我几乎可以保证其他开发人员将创建其他“路由器”选项,利用 React/Redux 类型的技术。因此,我希望在 Jetpack Compose 准备好投入生产使用时,您将有一系列选项可供选择。
标签: android kotlin android-jetpack android-jetpack-compose