我可以用 Java 编写 Jetpack Compose 组件吗?

Rok*_*ker 7 java android android-jetpack android-jetpack-compose

是否可以用 Java 编写 Jetpack Compose 组件?所有文档似乎都只在 Kotlin 中给出了示例。如果没有,是否有任何未来计划允许在 Java 中实现组件?

Rya*_*ley 17

不,您不能用 Java 编写 Jetpack Compose 组件,并且未来没有计划允许这样做(来源:我在 Compose 上工作)。请注意,这与使用在 Compose 中从 Java 应用程序创建的组件不同,这是可能的

Jetpack Compose 大量使用 Kotlin 功能,例如协程,并且@Composable方法需要由 Kotlin 编译器插件完成的转换。没有办法从 Java 访问这些。

  • 谷歌这样做非常不幸,它开始了缓慢但肯定的倾销和忽视,正是这种语言将 Android 及其整个生态系统带到了现在的位置。可能只是一些小原因,比如他们刚刚结束的与 Oracle 的诉讼!但现在这一切都已经过去了,他们可能是时候重新思考自己正在做的事情了。@瑞安M (28认同)
  • @RyanM 如果 Java 不完全支持使用 UI Toolkit 构建东西,那么 Java 是如何成为完全受支持的语言的呢?我认为可以说 Java 是一种完全支持公关目的的语言,但这是堆栈溢出,只需直接告诉我们 Google 正在逐步淘汰 Java。 (12认同)
  • @RyanM 如果我有一个 java 活动,我可以使用 compose 组件吗?IE 很难在任何示例中找到从 java 类调用 setContent(...) 的示例 (6认同)
  • 这就是 Google 淘汰 Java 的方式吗?SMH。 (6认同)
  • 那么我可以放心地假设我们已经完成了 android 中的 java 工作吗? (3认同)
  • @DonKariro 你真的希望他们永远支持两种语言吗?Compose 需要 Kotlin 语言的许多功能。 (2认同)