关于android:Jetpack-Glance-Alpha-版现已推出

45次阅读

共计 1993 个字符,预计需要花费 5 分钟才能阅读完成。

作者 / 开发者关系工程师 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 解决用户交互:

    • actionStartActivity
    • actionRunCallback
    • actionStartService
    • actionStartBroadcastReceiver
  • 通过 ActionParameters 为 Action 提供参数。
  • 通过定义 SizeMode.Single、SizeMode.Exact 或 SizeMode.Responsive 来解决 不同的 Widgets 布局。
  • 提供 GlanceStateDefinition,以保留 GlanceAppWidget 状态。
  • 提供本地组合,例如 LocalContext、LocalState、LocalGlanceId、LocalSize。
  • 通过 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 并依据您的我的项目需要自定义您的构建!

△ ResponsiveAppWidget.kt 演示

Alpha 版本是您参加开发 API 的重要机会,因而,欢送 分享您的反馈,帮忙咱们理解并进一步晋升您的体验!也欢迎您继续关注咱们理解更多最新内容。

期待您的体验!

欢迎您 点击这里 向咱们提交反馈,或分享您喜爱的内容、发现的问题。您的反馈对咱们十分重要,感谢您的反对!

正文完
 0