安卓|谷歌发布 Jetpack Glance Alpha 版,构建安卓 12 小组件更轻松( 二 )


LazyColumn
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/lazy/package-summary#lazycolumn
Image
https://developer.android.google.cn/reference/kotlin/androidx/glance/package-summary#image
利用 GlanceModifier 方法将修饰符应用于可组合项:
https://developer.android.google.cn/reference/kotlin/androidx/glance/GlanceModifier.html
利用预定义的 Action 处理用户交互:
https://developer.android.google.cn/reference/kotlin/androidx/glance/action/package-summary
actionStartActivity
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartactivity
actionRunCallback
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionruncallback
actionStartService
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartservice
actionStartBroadcastReceiver
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartbroadcastreceiver
通过 ActionParameters 为 Action 提供参数:
https://developer.android.google.cn/reference/kotlin/androidx/glance/action/ActionParameters
通过定义 SizeMode.Single、SizeMode.Exact 或 SizeMode.Responsive 来处理不同的 Widgets 布局。
SizeMode.Single
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Single
SizeMode.Exact
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Exact
SizeMode.Responsive
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Responsive
不同的 Widgets 布局
https://developer.android.google.cn/guide/topics/appwidgets/layouts
提供 GlanceStateDefinition,以保留 GlanceAppWidget 状态。
GlanceStateDefinition
https://developer.android.google.cn/reference/kotlin/androidx/glance/state/GlanceStateDefinition.html
GlanceAppWidget
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/state/package-summary
提供本地组合,例如 LocalContext、LocalState、LocalGlanceId、LocalSize:
https://developer.android.google.cn/reference/kotlin/androidx/glance/package-summary#top-level-properties
通过 AndroidRemoteViews 可组合项实现与您现有 RemoteViews 之间的互操作。
AndroidRemoteViews
https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/package-summary#androidremoteviews
RemoteViews
https://developer.android.google.cn/reference/android/widget/RemoteViews.html
我们还将推出更多功能,例如默认主题,更完善的 Android Studio 支持等等。敬请期待新版本:
https://developer.android.google.cn/jetpack/androidx/releases/glance
注意: 虽然 SDK 的最低版本是 21,但 Alpha 版目前支持兼容的最低版本为 SDK v23。
△ 在 Android 12 中构建新式 Android App Widgets
Glance 使用入门您可以在 GitHub 上查看示例,以便快速入门。也可以在最新的稳定版 Android Studio 中使用 Glance,但首先需要按照 Jetpack Compose 文档中的步骤进行设置,因为 Glance 依赖于 Compose 运行时 (Runtime)。
示例
https://github.com/android/user-interface-samples/tree/glance/AppWidget/glance-widget
稳定版 Android Studio
https://developer.android.google.cn/studio
Jetpack Compose 文档
https://developer.android.google.cn/jetpack/compose/interop/adding#setup
此外,您还可以查看 AndroidX 代码库中的进阶示例:
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/
编写您自己的插件,您可以扩展 Android Gradle Plugin 并根据您的项目需求自定义您的构建!

推荐阅读