作者 / Kseniia Shumelchyk, Developer Relations Engineer & John Nichol, Tech Lead of Compose for Wear OS
我们正式发布了
Compose for Wear OS
的 Beta 版,这是我们的现代声明式用户界面工具包,旨在帮助开发者为
Wear OS
构建精美的用户体验。
-
https://developer.android.google.cn/jetpack/androidx/releases/wear-compose
Compose for Wear OS 增加了为手表优化的组件,这些组件均基于 Wear OS 的最新 Material 设计规范,且建立在核心 Compose 库之上。工具包充分活用了
Modern Android Development
(现代 Android 开发),以加速整体开发进程。
-
Modern Android Development
https://developer.android.google.cn/modern-android-development
在 Beta 版发布后,Compose for Wear OS 就拥有了 1.0 版本 (将于今年晚些时候发布) 所需的完整功能,且能供您构建生产就绪的应用。这也意味着它的 API 已经稳定,今后我们将专注于提升性能以及针对 1.0 版本继续打磨现有组件。
△ Compose for Wear OS Beta 版发布
自去年的 I/O 大会以来,我们一直在努力将
Jetpack Compose
的优势带到 Wear OS,还通过 Slack 与社区互动,收集开发者对 API、组件和工具的反馈。一些组件也因此得到了改进,如导航、可缩放惰性列表 (scaling lazy list)、输入和手势支持等等。
在现在的 Beta 1 之前我们已经发布了 21 个 Alpha 版。让我们一起看看自
开发者预览版
发布以来的主要变化:
🆕 输入组件
开发者要求我们提供用户输入组件,所以我们增加了不同的 Composable,供大家为自己的手表应用进行定制:
-
Picker
可让用户从滚动列表中选择一个项目。默认情况下,这个包含可选择项目的列表会在两个方向上 "无限" 重复,从侧面看上去像是一个旋转的滚筒。有趣的是,Picker 在底层使用了
ScalingLazyColumn
来实现,并将许多 ScalingLazyColumn 的高级功能进行了拓展和打磨。
-
Slider
可让用户从一个数值范围内进行选择,是调整字体大小或亮度等设置的理想组件。
-
Stepper
是让用户从一个数值范围内进行选择的全屏控制组件。例如,用户可以用其控制耳机的音量。
-
http://link.gevents.cn/KVUQcC
-
http://link.gevents.cn/Z6L6Qs
-
http://link.gevents.cn/GBwA7W
-
http://link.gevents.cn/CP2sF9
我们增加了全屏警告和确认 Composable,它们既可以作为导航目的地,也可以用作传统的全屏对话框 (Dialog),后者将被覆盖在任何其他内容之上。对话框支持滑动关闭,继而显示背景中的父级内容。
-
https://developer.android.google.cn/reference/kotlin/androidx/wear/compose/material/dialog/package-summary
为了与 Scaffold 保持一致,全屏对话框会显示一个 PositionIndicator 和一个 Vignette。
-
http://link.gevents.cn/tt7Gav
-
http://link.gevents.cn/J8qQj9
-
http://link.gevents.cn/QcmvZi
🆕 进度指示器
我们添加了
CircularProgressIndicator
,这是一个为手表屏幕优化的进度指示器,通过将指示器沿顺时针方向的圆形轨道绘制来显示进度:
http://link.gevents.cn/4KfzJz
对于如何使用 CircularProgressIndicator,我们提供了以下几种选择: 要么显示无限的进度,要么表达正在进行的任务的完成比例。进度指示器允许在圆形轨道中留出空隙,为其他内容留出空间,例如在全屏时使用
TimeText
:
http://link.gevents.cn/SeVzNM
🆕 页面指示器
为了帮助您实现分页,用户界面工具包还提供了
HorizontalPageIndicator
组件,会显示总页数和所选页数:
http://link.gevents.cn/cUG2Y9
HorizontalPageIndicator 将提供当前展示的页面以及在总页面数中的位置,并会根据屏幕的实际形状使用对应的视觉呈现方式。
改进一览
-
https://developer.android.google.cn/reference/kotlin/androidx/wear/compose/foundation/package-summary
-
https://developer.android.google.cn/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier
-
http://link.gevents.cn/vyqxQB
-
http://link.gevents.cn/nmiFwF
在增加了这些最新的补充内容之后,用于 Wear OS 的 Compose Material 组件目录现在有了比基于视图 (View) 的布局更多的组件,并提供了基于新的 Wear OS 设计指南的开箱即用的实现。
Android Studio Electric Eel 提供了最新的功能,让您获得 Compose for Wear OS 开发的最佳体验:
https://developer.android.google.cn/studio/preview
编辑器和工具支持改进自动补全和编辑器动作
-
针对 Wear OS 的 Composable Preview
-
-
🆕 Compose for Wear OS 项目模板
我们还发布了 Horologist。这是一个 Google 开源项目,提供了一套 Wear 开发库,对 Compose for Wear OS 和其他 Wear OS API 所提供的功能进行了补充。
-
http://github.com/google/horologist
-
https://en.wikipedia.org/wiki/Horology
Horologist 提供有用的 Compose 扩展供您选用:
-
-
-
带有 TimeText 和 PositionIndicator 的导航感知 Scaffold,可与滚动和导航屏幕的变化保持同步。
Horologist 将不断发展,为开发者提供更多的工具,以便大家为不同的项目构建优秀的 Wear OS 应用。请
在 Github 上查看 Horologist
repo,为我们提供反馈,并贡献可能对 Wear 开发者有用的通用功能。请大家继续关注之后的版本!
-
http://github.com/google/horologist
许多移动端 Compose 的开发原则同样适用于 Wear OS 版本的 Compose,如果您不熟悉这套用户界面工具包,可以从 Jetpack Compose 的基础知识开始上手:
https://developer.android.google.cn/jetpack/compose
我们准备了一套材料来帮助您开始使用 Compose for Wear OS:
Compose for Wear OS Pathway:
https://developer.android.google.cn/courses/pathways/wear-compose
帮您创建首个项目的快速入门指南:
https://developer.android.google.cn/training/wearables/compose
Wear OS 的 Compose Material 组件目录的最新设计和实现指南:
http://link.gevents.cn/QiFKYX
简单版和复杂版的 Compose for Wear OS 示例,可在 Github 上获取:
https://github.com/android/wear-os-samples#samples
Compose for Wear OS Codelab,可供您亲自上手体验:
https://developer.android.google.cn/codelabs/compose-for-wear-os
随着 Compose for Wear OS Beta 版的到来,现在是时候开始使用 Compose 来构建自己的应用或是用它来更新既有的界面了。想要了解有关为 Wear OS 构建应用的更多信息,请前往
开发者网站
:
https://developer.android.google.cn/wear
我们迫不及待想听到您对 Compose for Wear OS 的使用感想,也非常期待看到您构建的佳作!欢迎大家加入
Kotlin Slack
#compos-wear 频道的讨论,也请大家继续在问题反馈专页上向我们
提交反馈
。
-
https://surveys.jetbrains.com/s3/kotlin-slack-sign-up
-
https://issuetracker.google.com/issues/new?component=1077552&template=1598429
您可以通过下方二维码或在文章底部留言,向我们提交反馈,分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!
点击屏末 | 阅读原文 | 即刻了解有关为 Wear OS 构建应用的更多信息