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

问题描述

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

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

解决方法

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

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

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

,

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

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

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

Conceptual code showing how building Widgets with Compose might look like

,

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...