我一直在查阅文档,但未找到确认信息。有人知道Android Jetpack
中的navigation
和compose
组件是否兼容吗?
我知道Jetpack Compose
尚未准备就绪,仅处于开发者预览模式,但我正在使用它并且似乎无法配置我的项目以使两个Jetpack组件同时工作。
非常感谢您提供任何信息。
我一直在查阅文档,但未找到确认信息。有人知道Android Jetpack
中的navigation
和compose
组件是否兼容吗?
我知道Jetpack Compose
尚未准备就绪,仅处于开发者预览模式,但我正在使用它并且似乎无法配置我的项目以使两个Jetpack组件同时工作。
非常感谢您提供任何信息。
长期来看,Jetpack Compose将在导航组件中得到一流的支持。Google已经在Kotlinlang Slack的#compose
频道中多次表示了这一点。
目前(2020年6月30日),导航对于Compose一无所知。我的猜测是,导航DSL最终将支持引用组件(或更新状态的lambda表达式),但这只是个猜测。
如果你想今天同时使用它们,一个选项是继续使用碎片:
稍后,当导航直接支持Compose时,您可以"解开"这些碎片,并直接在Compose+Navigation中完成所有操作。
或者,也可以使用第三方提供的非导航路由选项(尽管像Compose一样,它们都是相当新的)。
Fragment
中没有 setContent()
扩展函数,尽管他们已经讨论过将其添加。目前,您可以在 ViewGroup
上使用 setContent()
,对于一个 FrameLayout
,您的片段将设置为组合的目的地。这也可能会改变(他们正在讨论摆脱 ViewGroup.setContent()
并用专门的 AndroidComposeView
替代),但这就是开发预览中的生活 :-) - CommonsWareComposeView
的文档可以在以下链接中找到:https://developer.android.com/jetpack/compose/interop - Joaquim Ley现在已发布1.0.0-alpha06版本,支持使用Compose导航。 https://developer.android.com/jetpack/compose/navigation