Wear Compose

  
编写适用于穿戴式设备的 Jetpack Compose 应用,提供相关功能来支持穿戴式设备以及该类设备专属的尺寸、形状和导航手势。
最近更新时间 当前稳定版 下一候选版 Beta 版 Alpha 版
2021 年 9 月 1 日 - - - 1.0.0-alpha05

声明依赖项

如需添加 Wear 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.0.0-alpha05"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.0.0-alpha05")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.0.0-alpha05")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库的改进有自己的见解,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.0.0

版本 1.0.0-alpha05

2021 年 9 月 1 日

发布了 androidx.wear.compose:compose-foundation:1.0.0-alpha05androidx.wear.compose:compose-material:1.0.0-alpha05版本 1.0.0-alpha05 中包含这些提交内容

API 变更

  • 将 ArcPaddingValues 标记为了 @Stable (I57deb)
  • ScalingLazyColumnState 现在会实现 ScrollableState 接口,让开发者获得编程访问权限以滚动浏览组件。(I47dbc)

bug 修复

  • 我们缩小了 Chip 和 ToggleChip 中的图标和文本之间的间距,使其与用户体验规范的更新保持一致。(I83802)

版本 1.0.0-alpha04

2021 年 8 月 18 日

发布了 androidx.wear.compose:compose-foundation:1.0.0-alpha04androidx.wear.compose:compose-material:1.0.0-alpha04版本 1.0.0-alpha04 中包含这些提交内容

新功能

  • 添加了 SwipeToDismissBox 和可滑动修饰符,可用于支持从左到右滑动关闭手势。虽然与导航组件无关,但这应该用于退出一个屏幕并导航到另一个屏幕。为滑动关闭演示添加了集成测试。(I7bbaa)
  • 我们向 ScalingLazyColumnState 类添加了 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 接口,让开发者能够在应用缩放后知道 ScalingLazyColumn 中项的实际位置和大小。我们还修复了与对 ScalingLazyColumn 应用内容“上”内边距后计算缩放的方式有关的 bug。(I27c07)

API 变更

  • 添加了 CurvedTextStyle 类,以指定曲线文本样式选项。与 TextStyle 类似,但现在仅支持颜色、字号和背景。我们会在日后添加更多样式选项。(I96ac3)
  • 我们向 ScalingLazyColumnState 类添加了 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 接口,让开发者能够在应用缩放后知道 ScalingLazyColumn 中项的实际位置和大小。我们还修复了与对 ScalingLazyColumn 应用内容“上”内边距后计算缩放的方式有关的 bug。最后,我们 (I27c07)
  • SwipeDismissTarget 枚举添加了 @ExperimentalWearMaterialApi,这属于 SwipeToDismissBox API 的一部分。(I48b5e)

bug 修复

  • 为 SwipeToDismissBox 添加了测试材料 (I9febc)

版本 1.0.0-alpha03

2021 年 8 月 4 日

发布了 androidx.wear.compose:compose-foundation:1.0.0-alpha03androidx.wear.compose:compose-material:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

API 变更

  • 新增了 CurvedText 组件,让开发者能够轻松地沿着圆圈的弧线(通常位于圆形屏幕的边缘)写入文字 (Id1267)
  • 我们已将 CardDefaults.imageBackgroundPainter() 重命名为 CardDefaults.imageWithScrimBackgroundPainter(),以便让用户清楚知道背景图片上绘制有纱罩。(I53206)
  • 新增了 ScalingLazyColumn 组件,用于为 Wear Material 提供列表组件,支持用户在鱼眼视图中缩减列表内容的大小,让列表内容在靠近组件边缘时渐隐为透明。(I7070c)

bug 修复

  • 我们更改了 AppCard 中 appName 内容的默认颜色,以响应用户体验规范更新。appName 的默认颜色现在为 MaterialTheme.colors.onSurfaceVariant。此外,为标题位置添加了缺少的参数文档说明。(Ic4ad1)

版本 1.0.0-alpha02

2021 年 7 月 21 日

发布了 androidx.wear.compose:compose-foundation:1.0.0-alpha02androidx.wear.compose:compose-material:1.0.0-alpha02版本 1.0.0-alpha02 中包含这些提交内容

新功能

  • 新增了一个 CurvedRow 类,用于在 arc 中安排可组合项的布局 (I29941)
  • 新增了一种在应用中使用的卡片 (TitleCard),并支持将图片作为背景添加到卡片,以重点强调其内容 (I53b0f)

API 变更

  • 向 CurvedRow 添加了对径向对齐的支持(类似于行中的垂直对齐)(Id9de5)
  • 新增了一个 CurvedRow 类,用于在 arc 中安排可组合项的布局 (I29941)
  • 新增了一种在应用中使用的卡片 (TitleCard),并支持将图片作为背景添加到卡片,以重点强调其内容 (I53b0f)
  • 向 ToggleChipDefaults 添加了切换图标(复选框、开关和单选按钮),以便开发者可以更轻松地配置 ToggleChip 和 SplitToggleChips (I7b639)
  • 更新了条状标签的开始和结束内容的内边距,这样,无论条状标签是否会显示图标,内边距始终为 14.dp(之前在显示图标时为 12.dp,不显示图标时为 14.dp)(I34c86)

bug 修复

  • 针对 CurvedRow 添加了测试 (I93cdb)
  • 将 Wear Compose 依赖项与 Compose 1.0.0-rc01 相关联。(Ie6bc9)
  • 更改了卡片和条状标签中背景图片绘制的处理方式,以便系统裁剪而不是拉伸图片,从而保持图片显示比例不变。(I29b41)
  • 针对 Button 和 ToggleButton 添加了更多演示和集成测试。(5e27ed2)
  • 添加了更多条状标签测试,以涵盖 imageBackgroundChips 的内容颜色 (Ia9183)

版本 1.0.0-alpha01

2021 年 7 月 1 日

发布了 androidx.wear.compose:compose-foundation:1.0.0-alpha01androidx.wear.compose:compose-material:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

新功能

Wear Compose 是一个基于 Compose 的 Kotlin 库,支持 Wear Material Design,是适用于 WearOS 穿戴式设备的 Material Design 的扩展。第一个 Alpha 版本包含以下对象的早期功能性实现:

  • Material 主题 - 用于为通过此库使用的各个组件配置统一的颜色、字体排版和形状。
  • Chip、CompactChip - 此类条形标签是体育场形状的,其变体可用于容纳图标、标签和次级标签内容。
  • ToggleChip、SplitToggleChip - 一种特殊类型的条形标签,包含一个用于放置在两种状态之间进行切换的图标(例如单选按钮或复选框)的槽位。此外,SplitToggleChip 具有两个可点按区域,即一个可点击区域和一个可切换区域。
  • Button、CompactButton - 圆形按钮,带有一个用于放置图标或极少文字(最多 3 个字符)的内容槽位。
  • ToggleButton - 用于启用或停用某项操作的按钮,带有一个用于放置图标或极少文字(最多 3 个字符)的槽位。
  • Card、AppCard - 圆角矩形,可提供多个用于放置应用图标、时间、标题和正文等内容的槽位。

后续版本将扩展 widget 集,以添加对 Wear Material Design 选择器、滑块、列表、页面指示符、对话框、侧面旋钮 (RSB) 指示符、消息框等对象的支持。

此外,我们还将为其他穿戴式设备专属功能(例如曲线布局和文字)以及架构提供支持,以便开发者能够轻松构建穿戴式应用/叠加层。

Wear Compose Material 的设计遵循与 Compose Material 相同的原则,不过是以穿戴式设备为目标平台。因此,在为穿戴式设备打造应用时,应使用 Wear Compose Material 库来代替 Compose Material 库。

这两个“Material”库应视为互斥,不应在同一应用中混用。如果开发者发现其依赖项中包含 Compose Material 库,则说明:a) Wear Compose Material 库中缺少组件(请告诉我们所需组件);或者 b) 目前所用组件不是我们推荐在穿戴式设备上使用的组件。