可以使用Jetpack Compose来构建App小部件吗?

时间:2020-08-28 13:58:07

标签: android android-widget android-jetpack-compose

借助swift,可以使用SwiftUI编写小部件,但是我还没有看到关于Jetpack Compose是否可以用于构建Android App小部件的任何声明。

现在Compose在Alpha中,有没有信息可以让我看到如何完成?

3 个答案:

答案 0 :(得分:6)

这很大程度上取决于您所说的“ Jetpack Compose”的含义。我们昨天才在Kotlinlang Slack上讨论这个问题。

如果您指的是Compose UI和相关程序包(可用于构建活动显示的UI的可组合库),那么否,这对应用程序小部件的作用很小。原则上,您可以将可合成内容转换为Bitmap,然后在应用程序小部件中将其与ImageView结合使用,但仅此而已。

如果您指的是Compose Runtime,即@Composable,重组,remember()等背后的基础“管道”,那么将来可能会提供一些服务。基本上,据我了解,可能会存在另一组可组合对象,这些对象与建立和发布RemoteViews视图层次结构相关。从好的方面来说,这将使您的AppWidgetProvider富有“感觉”。但是,它不会导致类似TextField之类的东西在应用程序小部件中神奇地工作。

答案 1 :(得分:3)

事实证明这是不可能的,但正在开发中。

根据 this video YouTube 频道 Android Developers 12:16 以后的说法,目前正在探索这个想法,将于今年晚些时候(2021 年)发布。

它的外观示例如下(直接取自同一视频):

Conceptual code showing how building Widgets with Compose might look like

答案 2 :(得分:2)

在 Google 上看到了这篇文章。期待更多公告! enter image description here

链接:https://developer.android.com/jetpack/androidx/compose-roadmap