Jetpack Glance Alpha 版现已推出
作者 / 开发者关系工程师 Marcel Pintó Biescas,@marxallski
Android 12 改进 了一项被许多 Android 用户视为关键的功能 - App Widgets,改进后的 Widgets 更加实用、美观,且更易于被用户发现 (84% 的用户至少使用一个 Widgets)。现在,我们发布了 Jetpack Glance 的第一个 Alpha 版,让 Widgets 的构建过程变得更加轻松,该版本是建立在 Jetpack Compose 运行时 (Runtime) 之上的新框架,旨在实现更快、更轻松的为主屏幕或其他界面构建 App Widgets。
欢迎您开始尝试并 分享反馈意见。
Glance 提供了新式声明性 Kotlin API,其类似于您在 Jetpack Compose 中使用的 API,能够帮助您用更少的代码构建更美观的自适应 App Widgets。
△ Glance "Hello World" Widgets 示例
class GreetingsWidget(private val name: String): GlanceAppWidget() { @Composable override fun Content() { Text(text = "Hello $name") } } class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() { override val glanceAppWidget = GreetingsWidget("Glance") }
工作原理
Glance 提供了可组合项的基础组件集,助您打造 "一目了然" 的体验。现在,我们将提供更多的 App Widgets。Glance 利用 Jetpack Compose 运行时 (Runtime),可以将 可组合项 转化为实际的 RemoteViews,并在 App Widgets 中显示。
△ Glance 结构示意图
这意味着 Glance 需要 启用 Compose,且依赖于运行时 (Runtime)、图形 (Graphics) 和单元界面 Compose 层,但它与其他现有的 Jetpack Compose 界面元素之间不具备直接互操作性。但是,您可以分享应用中的状态或任何其他逻辑,以此来打造一目了然的界面。
Alpha 版介绍
此初始版本引入了主要的 API,不仅能够实现与现有 RemoteViews 之间的互操作性,还能帮助您构建 App Widgets。
以下是该开发库提供的内容概览:
-
通过 GlanceAppWidget 和 GlanceAppWidgetReceiver 声明您的 App Widgets。
-
利用 Glance 可组合项的初始集组合您的界面: Box、Row、Column、Text、Button、LazyColumn、Image、Spacer。
-
利用 GlanceModifier 方法将修饰符应用于可组合项。
-
利用预定义的 Action 处理用户交互:
-
通过 ActionParameters 为 Action 提供参数。
-
通过定义 SizeMode.Single、SizeMode.Exact 或 SizeMode.Responsive 来处理 不同的 Widgets 布局。
-
提供 GlanceStateDefinition,以保留 GlanceAppWidget 状态。
-
通过 AndroidRemoteViews 可组合项实现与您现有 RemoteViews 之间的互操作。
我们还将推出更多功能,例如默认主题,更完善的 Android Studio 支持等等。敬请期待 新版本。
注意: 虽然 SDK 的最低版本是 21,但 Alpha 版目前支持兼容的最低版本为 SDK v23。
可以查看 在 Android 12 中构建新式 Android App Widgets 视频了解更多详细信息。
Glance 使用入门
您可以在 GitHub 上查看 示例,以便快速入门。也可以在最新的 稳定版 Android Studio 中使用 Glance,但首先需要按照 Jetpack Compose 文档 中的步骤进行设置,因为 Glance 依赖于 Compose 运行时 (Runtime)。
此外,您还可以查看 AndroidX 代码库中的进阶示例。
编写您自己的插件,您可以扩展 Android Gradle Plugin 并根据您的项目需求自定义您的构建!
Alpha 版本是您参与开发 API 的重要机会,因此,欢迎 分享您的反馈,帮助我们了解并进一步提升您的体验!也欢迎您持续关注我们了解更多最新内容。
期待您的体验!
欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
mcia-mqtt 1.2.2 发布,新增发布鉴权接口
一、简介 mica-mqtt 基于 t-io 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。mica-mqtt 更加易于集成到已有服务和二次开发,降低自研物联网平台开发成本。 二、功能 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 websocket mqtt 子协议(支持 mqtt.js)。 支持 http rest api,http api 文档详见。 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 MQTT 客户端 阿里云 mqtt 连接 demo。 支持 GraalVM 编译成本机可执行程序。 支持 Spring boot 项目快速接入(mica-mqtt-spring-boot-starter)。 mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana。 基于 redis pub/sub 实现集群,详见 mica-mqtt-broker 模块。 三、使用场景...
- 下一篇
最新版:Apache Pulsar 针对 Log4j 漏洞解决方案
作者:Matteo Merli,StreamNative CTO,Apache Pulsar PMC 主席;Addison Higham,StreamNative 主管工程师,Apache Pulsar Committer。 本文译自 StreamNative 英文博客,原文链接:https://streamnative.io/blog/engineering/log4-mitigation-en/,更多详情请参考 StreamNative 公众号。 此文于本周二更新,详细添加了最新的 Log4j 漏洞如何影响其他 Pulsar 生态系统工具的详细信息。 上周末,Apache 开源项目 Log4j 2.16.0 被曝出新的漏洞,Log4j 紧急发布 2.17.0 版本。本文为大家提供最新版Apache Pulsar 有关 Log4Shell 关键漏洞(即 log4j)的更新。以下列举了开源版本 Apache Pulsar 中漏洞的状态,以及需要解决安全漏洞所需采取的措施。 漏洞影响与项目状态更新 目前总共发现了三个影响 log4j 的 CVE。在这三个漏洞中,默认情况下只有两个影响 A...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)