Wear 信息卡

为 Google 智能手表 Wear OS 创建应用。
最新更新 稳定版发布 发布候选版 Beta 版发布 Alpha 版发布
2025 年 6 月 4 日 1.5.0 - - -

声明依赖项

要添加对 Wear 的依赖项,您必须将 Google Maven 代码库添加到您的项目中。如需了解更多信息,请阅读Google 的 Maven 代码库

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

Groovy

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.5.0"

    // Use to utilize standard components and layouts in your tiles
    implementation "androidx.wear.protolayout:protolayout:1.3.0"

    // Use to utilize components and layouts with Material Design in your tiles
    implementation "androidx.wear.protolayout:protolayout-material:1.3.0"

    // Use to include dynamic expressions in your tiles
    implementation "androidx.wear.protolayout:protolayout-expression:1.3.0"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.5.0"

    // Use to fetch tiles from a tile provider in your tests
    testImplementation "androidx.wear.tiles:tiles-testing:1.5.0"
}

Kotlin

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.5.0")

    // Use to utilize standard components and layouts in your tiles
    implementation("androidx.wear.protolayout:protolayout:1.3.0")

    // Use to utilize components and layouts with Material Design in your tiles
    implementation("androidx.wear.protolayout:protolayout-material:1.3.0")

    // Use to include dynamic expressions in your tiles
    implementation("androidx.wear.protolayout:protolayout-expression:1.3.0")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.5.0")

    // Use to fetch tiles from a tile provider in your tests
    testImplementation("androidx.wear.tiles:tiles-testing:1.5.0")
}

如需了解有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告诉我们。在创建新问题之前,请先查看此库中现有问题。您可以通过点击星标按钮,为您现有的问题投票。

创建新问题

如需了解更多信息,请参阅问题跟踪器文档

版本 1.5

版本 1.5.0

2025 年 6 月 4 日

androidx.wear.tiles:tiles-*:1.5.0 已发布。版本 1.5.0 包含这些提交

自 1.4.0 以来的重要变更

  • 添加了新的 API TileService.onRecentInteractionEvents(),用于批量处理交互式信息卡事件(进入/离开)。
    • TileService 中用于 onEnterEventonLeaveEvent 的现有 API 已废弃,并且从 SDK 36+ 开始,对于目标 API 36 或更高版本的应用,将无法使用。
  • 针对目标 SDK 高于 34 并在 API 34 上请求信息卡更新(这会导致 SecurityException)的所有客户端的关键 Bug 修复。
  • 从 Wear 6(SDK 级别 36+)开始,所有信息卡都将以每个设备定义的系统字体显示。

版本 1.5.0-rc01

2025 年 5 月 20 日

androidx.wear.tiles:tiles-*:1.5.0-rc01 已发布,与上一个版本相比无变化。版本 1.5.0-rc01 包含这些提交

版本 1.5.0-beta02

2025 年 5 月 7 日

androidx.wear.tiles:tiles-*:1.5.0-beta02 已发布。版本 1.5.0-beta02 包含这些提交

版本 1.5.0-beta01

2025 年 4 月 9 日

androidx.wear.tiles:tiles-*:1.5.0-beta01 已发布。版本 1.5.0-beta01 包含这些提交

新功能

Wear 信息卡 1.5.0-beta01 版本表明此库版本功能已完善,且 API 已锁定(标记为实验性的除外)。Wear 信息卡 1.5 包含以下新功能和 API

  • 添加了新的 API TileService.onRecentInteractionEvents(),用于批量处理交互式信息卡事件(进入/离开)。
    • TileService 中用于 onEnterEventonLeaveEvent 的现有 API 已废弃,并且从 SDK 36+ 开始,对于目标 API 36 或更高版本的应用,将无法使用。
  • 针对目标 SDK 高于 34 并在 API 34 上请求信息卡更新(这会导致 SecurityException)的所有客户端的关键 Bug 修复。
  • 从 Wear 6(SDK 级别 36+)开始,所有信息卡都将以每个设备定义的系统字体显示。

版本 1.5.0-alpha10

2025 年 3 月 12 日

androidx.wear.tiles:tiles-*:1.5.0-alpha10 已发布。版本 1.5.0-alpha10 包含这些提交

版本 1.5.0-alpha09

2025 年 2 月 26 日

androidx.wear.tiles:tiles-*:1.5.0-alpha09 已发布。版本 1.5.0-alpha09 包含这些提交

版本 1.5.0-alpha08

2025 年 2 月 12 日

androidx.wear.tiles:tiles-*:1.5.0-alpha08 已发布。版本 1.5.0-alpha08 包含这些提交

API 变更

  • TileService.onRecentInteractionEvents() 返回 ListenableFuture<Void> 以允许长时间运行的任务。(Iaa6c5

版本 1.5.0-alpha07

2025 年 1 月 29 日

androidx.wear.tiles:tiles-*:1.5.0-alpha07 已发布。版本 1.5.0-alpha07 包含这些提交

版本 1.5.0-alpha06

2025 年 1 月 15 日

androidx.wear.tiles:tiles-*:1.5.0-alpha06 已发布。版本 1.5.0-alpha06 包含这些提交

API 变更

  • processRecentInteractionEvents 方法重命名为 onRecentInteractionEvents。(Iec3d5

版本 1.5.0-alpha05

2024 年 12 月 11 日

androidx.wear.tiles:tiles-*:1.5.0-alpha05 已发布。版本 1.5.0-alpha05 包含这些提交

新功能

  • TileService 添加 API,以批量处理交互事件。(I04d1b

Bug 修复

  • 此库现在使用 JSpecify nullness 注解(类型使用)。Kotlin 开发者应使用以下编译器参数来强制正确使用:-Xjspecify-annotations=strict(这是 Kotlin 编译器 2.1.0 版开始的默认值)。(I390e9, b/326456246)
  • 修复了当应用的 targetSdk 高于 34 时,在 API 34 上请求信息卡更新会导致 SecurityException 的 Bug (If62a1)
  • 修复了 Robolectric 测试中对 WearSdk 的依赖。( I37796)

版本 1.5.0-alpha04

2024 年 11 月 13 日

androidx.wear.tiles:tiles-*:1.5.0-alpha04 已发布。版本 1.5.0-alpha04 包含这些提交

版本 1.5.0-alpha03

2024 年 10 月 30 日

androidx.wear.tiles:tiles-*:1.5.0-alpha03 已发布。版本 1.5.0-alpha03 包含这些提交

版本 1.5.0-alpha02

2024 年 10 月 16 日

androidx.wear.tiles:tiles-*:1.5.0-alpha02 已发布。版本 1.5.0-alpha02 包含这些提交

安全修复

  • 此变更起,androidx 针对 protobuf 4.28.2 进行编译,以解决 CVE-2024-7254。将您对 androidx.wear.tiles:tiles-proto 1.5.0-alpha01 版本的依赖项升级到 1.5.0-alpha02,以解决漏洞风险。

版本 1.5.0-alpha01

2024 年 10 月 2 日

androidx.wear.tiles:tiles-*:1.5.0-alpha01 已发布。版本 1.5.0-alpha01 包含这些提交

版本 1.4

版本 1.4.1

2024 年 10 月 16 日

androidx.wear.tiles:tiles-*:1.4.1 已发布。版本 1.4.1 包含这些提交

安全修复

  • 此变更起,androidx 针对 protobuf 4.28.2 进行编译,以解决 CVE-2024-7254。将您对 androidx.wear.tiles:tiles-proto 1.4.0 版本的依赖项升级到 1.4.1,以解决漏洞风险。

版本 1.4.0

2024 年 8 月 7 日

androidx.wear.tiles:tiles-*:1.4.0 已发布。版本 1.4.0 包含这些提交

自 1.3.0 以来的重要变更

  • 支持在 Android Studio 中为信息卡预览指定自定义平台数据的工具。

版本 1.4.0-rc01

2024 年 7 月 24 日

androidx.wear.tiles:tiles-*:1.4.0-rc01 已发布,与上一个版本相比无变化。版本 1.4.0-rc01 包含这些提交

版本 1.4.0-beta01

2024 年 7 月 10 日

androidx.wear.tiles:tiles-*:1.4.0-beta01 已发布。版本 1.4.0-beta01 包含这些提交

新功能

Wear 信息卡 1.4.0-beta01 版本表明此库版本功能已完善,且 API 已锁定(标记为实验性的除外)。Wear 信息卡 1.4 包含以下新功能和 API

  • 支持在 Android Studio 中为信息卡预览指定自定义平台数据的工具。

版本 1.4.0-alpha05

2024 年 6 月 26 日

androidx.wear.tiles:tiles-*:1.4.0-alpha05 已发布。版本 1.4.0-alpha05 包含这些提交

版本 1.4.0-alpha04

2024 年 5 月 29 日

androidx.wear.tiles:tiles-*:1.4.0-alpha04 已发布。版本 1.4.0-alpha04 包含这些提交

版本 1.4.0-alpha03

2024 年 5 月 14 日

androidx.wear.tiles:tiles-*:1.4.0-alpha03 已发布。版本 1.4.0-alpha03 包含这些提交

Bug 修复

  • TileService#getActiveTilesAsync 现在使用 WearSdk API(可用时)提供更准确的结果。(I57bd8

版本 1.4.0-alpha02

2024 年 5 月 1 日

androidx.wear.tiles:tiles-*:1.4.0-alpha02 已发布。版本 1.4.0-alpha02 包含这些提交

API 变更

  • tileId 移至 Builder 构造函数参数作为强制字段,并在 getter 中记录默认时间戳值。(I98c2b
  • 添加 TileInteractionEventTileEnterTileLeave proto 消息以及用于批量处理信息卡进入/离开事件的 Java 封装器。(I112b0
  • 重构 TileRenderer 以使用 Builder 而不是 TileRenderer.Config 对象。(Ib66f9
  • TileRenderer.Config 添加 platformDataProviders 属性。(I6030d
  • TileRenderer 添加一个新的构造函数,该构造函数支持新的 TileRenderer.Config 类。其他构造函数已被废弃。(Iae7ff
  • TilePreviewData 添加 platformDataValues 字段以允许覆盖平台数据值。(If437a

Bug 修复

  • 记录 TileRenderer.Config.Builder#setTilesTheme 的默认值为零。(Iced18

版本 1.4.0-alpha01

2024 年 3 月 6 日

androidx.wear.tiles:tiles-*:1.4.0-alpha01 已发布。版本 1.4.0-alpha01 包含这些提交

版本 1.3

版本 1.3.0

2024 年 2 月 7 日

androidx.wear.tiles:tiles-*:1.3.0 已发布。版本 1.3.0 包含这些提交。

自 1.2.0 以来的重要变更

  • 已更新信息卡预览支持的工具。
  • 支持查询属于应用的活动信息卡。

其他变更

版本 1.3.0-rc01

2024 年 1 月 24 日

androidx.wear.tiles:tiles-*:1.3.0-rc01 已发布。版本 1.3.0-rc01 包含这些提交。

API 变更

  • TileService#getActiveTilesSnapshotAsync 重命名为 getActiveTilesAsync。(If6b87

版本 1.3.0-beta01

2024 年 1 月 10 日

androidx.wear.tiles:tiles-*:1.3.0-beta01 已发布。版本 1.3.0-beta01 包含这些提交。

Wear 信息卡 1.3.0-beta01 版本表明此库版本功能已完善,且 API 已锁定(标记为实验性的除外)。Wear 信息卡 1.3 包含以下新功能和 API

  • 用于 Wear 信息卡工具的模块已更新,支持信息卡预览,并已准备好发布。
  • 支持使用 TileService.getActiveTilesSnapshotAsync 查询属于应用的活动信息卡。

版本 1.3.0-alpha04

2023 年 12 月 13 日

androidx.wear.tiles:tiles-*:1.3.0-alpha04 已发布。版本 1.3.0-alpha04 包含这些提交。

版本 1.3.0-alpha03

2023 年 11 月 29 日

androidx.wear.tiles:tiles-*:1.3.0-alpha03 已发布。版本 1.3.0-alpha03 包含这些提交。

新功能

  • 添加了一个新的 API TileService#getActiveTilesSnapshotAsync,用于查询属于应用的活动信息卡。(I6850e

API 变更

  • @TilePreview 重命名为 @Preview (Ifc08a)

版本 1.3.0-alpha02

2023 年 11 月 15 日

androidx.wear.tiles:tiles-*:1.3.0-alpha02 已发布。版本 1.3.0-alpha02 包含这些提交。

新功能

  • 我们添加了一个实验性 API,可根据父级中的空间自动缩放文本大小。(Ibbe63

版本 1.3.0-alpha01

2023 年 10 月 18 日

androidx.wear.tiles:tiles-*:1.3.0-alpha01 已发布。版本 1.3.0-alpha01 包含这些提交。

新功能

  • 将上下文作为预览方法参数提供,而不是 TilePreviewData 回调参数。(I5e97d
  • 用于 Wear 信息卡工具的模块已更新,支持信息卡预览,并已准备好发布。(I63d0f

版本 1.2

版本 1.2.0

2023 年 8 月 9 日

androidx.wear.tiles:tiles-*:1.2.0 已发布。版本 1.2.0 包含这些提交。

自 1.1.0 以来的重要变更

  • Wear 信息卡 1.2.0 的稳定版发布(阅读更多
  • 信息卡 1.2 添加了对将布局元素绑定到平台数据(以加快更新速度)和动画的支持。如需了解迁移说明,请参阅 (1.2.0-rc01) 的发布说明

版本 1.2.0-rc01

2023 年 7 月 26 日

androidx.wear.tiles:tiles-*:1.2.0-rc01 已发布。版本 1.2.0-rc01 包含这些提交。

  • 随着 v1.2 的发布,信息卡库已重构,大部分功能和 API 已移至新的 ProtoLayout 库(软件包 androidx.wear.protolayout),一小部分保留在信息卡中(androidx.wear.tiles

    • 所有类名保持不变,v1.1 中只有新增项
    • 大部分 API 保持不变,唯一的变化是软件包名称。
    • TileService/TileBuilder 中的某些方法已被废弃,现在有重命名版本接受新的 ProtoLayout 类型而不是废弃的 Tiles 类型。
  • 为了简化此迁移,我们整理了一些简短的说明和脚本,可执行此重命名操作,请参阅此处

API 变更

  • 我们将信息卡中布局的最大深度限制为 30 个嵌套元素。如果超出该深度,信息卡渲染器将显示之前膨胀的布局。(I8a74b

版本 1.2.0-beta01

2023 年 6 月 21 日

androidx.wear.tiles:tiles-*:1.2.0-beta01 已发布,无任何变更。版本 1.2.0-beta01 包含这些提交。

版本 1.2.0-alpha07

2023 年 6 月 7 日

androidx.wear.tiles:tiles-*:1.2.0-alpha07 已发布。版本 1.2.0-alpha07 包含这些提交。

新功能

  • TileRenderer.setState 允许为渲染会话设置状态。此状态将应用于当前布局和任何未来布局(直到设置新状态)。(Iaaf35)
  • protolayout 类型现在在所有信息卡渲染器 API 中都得到完全支持。( I428b0)

Bug 修复

  • 现在可以在 ProtoLayoutViewInstance 中设置自定义主题。(Iae8c0

版本 1.2.0-alpha06

2023 年 5 月 24 日

androidx.wear.tiles:tiles-*:1.2.0-alpha06 已发布。版本 1.2.0-alpha06 包含这些提交。

API 变更

  • StateEntryValue 重命名为 DynamicDataValue,并更新状态 API 以使用 DynamicDataKey。(If1c01
  • 我们正在限制 StateStore 中允许的条目数量,以确保每个 StateStore 实例的内存使用和状态更新时间都得到良好控制。因此,开发者需要确保其映射中没有超过 MAX_STATE_ENTRY_COUNT 条目,否则在创建或更新 StateStore 时将收到 IllegalStateException。(Ibadb3

版本 1.2.0-alpha05

2023 年 5 月 10 日

androidx.wear.tiles:tiles-*:1.2.0-alpha05 已发布。版本 1.2.0-alpha05 包含这些提交。

新功能

  • 我们已将信息卡 ID 添加到信息卡事件和请求中。此 ID 可用于将某些数据与轮播中的信息卡实例相关联。(Ic4f83

API 变更

  • TileRenderer.inflateAsync 现在返回 ListenableFuture。(I2f2b9
  • protolayout 库中有替代项的信息卡构建器现在已被标记为废弃。(Ie2029

Bug 修复

  • TileService.onTileResourcesRequest 的 Javadoc 现在阐明了系统何时可能调用该方法。(Iee037

版本 1.2.0-alpha04

2023 年 4 月 19 日

androidx.wear.tiles:tiles-*:1.2.0-alpha04 已发布。版本 1.2.0-alpha04 包含这些提交。

Bug 修复

  • Gradle 依赖项现在已根据需要正确设置为 api 而不是 implementation。(I40503

版本 1.2.0-alpha03

2023 年 4 月 5 日

androidx.wear.tiles:tiles-*:1.2.0-alpha03 已发布。版本 1.2.0-alpha03 包含这些提交。

API 变更

  • 我们已将对 androidx.wear.protolayout 类型的支持添加到 TileRenderer。(I4ac7f
  • ObservableStateStore 已重命名为 StateStore。(Ieb0e2
  • TileRenderer 添加 protolayout 类型的重载。(I4ac7f
  • TileRenderer 中启用动画。(I07dcf

版本 1.2.0-alpha02

2023 年 3 月 22 日

androidx.wear.tiles:tiles-*:1.2.0-alpha02 已发布。版本 1.2.0-alpha02 包含这些提交。

API 变更

  • 信息卡 Material 库已废弃。请使用具有相同功能的新 ProtoLayout Material 库。(If242b

Bug 修复

  • TileRenderer 已更新为使用 protolayout 库中的新功能。(I832f9

版本 1.2.0-alpha01

2023 年 3 月 8 日

androidx.wear.tiles:tiles-*:1.2.0-alpha01 已发布。版本 1.2.0-alpha01 包含这些提交。

新功能

  • 我们已将 onTileResourceRequest 添加到 TileService,用于从 protolayout 库提供资源。(983d9c5
  • 我们已更新 ResourcesRequestTileRequest 以支持 protolayout 库中的 StateDeviceParameters 类型。(88fa01d
  • 我们已更新 TileBuilders.Tile 以支持 protolayout 库中的 StateTimeline 类型。(168619c

Bug 修复

  • Javadoc 改进。(I3ed73
  • onPrimary 和 surface 的默认颜色已更改。(I0b039

版本 1.1

版本 1.1.0

2022 年 8 月 24 日

androidx.wear.tiles:tiles-*:1.1.0 已发布。版本 1.1.0 包含这些提交。

自 1.0.0 以来的重要变更

  • 这是包含信息卡 Material 库的第一个稳定版(在我们的博客上阅读更多内容)。
  • 此库包含符合 Material Design 准则且易于使用的组件和布局。包含的组件有 ButtonChipCompactChipTitleChipCircularProgressIndicatorText。所有这些组件都有自己的颜色对象,可以使用主 Colors 类构建,以便轻松地将相同主题应用于所有组件。除了颜色之外,还有一个 Typography 类,可以使用排版名称轻松获取 FontStyle 对象。
  • 除了组件之外,还有推荐的信息卡布局 - PrimaryLayoutEdgeContentLayoutMultiButtonLayoutMultiSlotLayout。所有布局都应用了符合 Material Design 准则的推荐内边距和样式。
  • 如需了解 Tiles Material 库中的组件和布局列表,请参阅信息卡的发布说明。

版本 1.1.0-rc01

2022 年 8 月 10 日

androidx.wear.tiles:tiles-*:1.1.0-rc01 已发布。版本 1.1.0-rc01 包含这些提交。

  • Beta 版和 RC 版之间没有新变化。

版本 1.1.0-beta01

2022 年 7 月 27 日

androidx.wear.tiles:tiles-*:1.1.0-beta01 已发布。版本 1.1.0-beta01 包含这些提交。

信息卡 Material 库的 1.0.0-beta01 版本包含符合 Material Design 准则且易于构建的组件和布局。

包含的组件有

  • Button - 可点击的圆形对象,带有图标、文本或图像,并有 3 种预定义大小。
  • Chip - 可点击的体育场形状对象,可包含图标、主标签和次标签,具有固定高度和可自定义宽度。
  • CompactChipTitleChip - 标准 Chip 的两种变体,分别具有更小和更大的高度,并且可以包含一行文本。
  • CircularProgressIndicator - 屏幕边缘的彩色弧线,具有给定的起始和结束角度,可以描述完整或部分圆,并在其后面有完整的进度弧线。
  • Text - 使用推荐的 Wear Material 排版样式的带样式文本

所有这些组件都有自己的颜色对象,可以使用主 Colors 类构建,以便轻松地将相同主题应用于所有组件。除了颜色之外,还有一个 Typography 类,可以使用排版名称轻松获取 FontStyle 对象。

除了组件之外,还有推荐的信息卡布局

  • PrimaryLayout - 一种布局,可通过添加主标签或次标签、中间内容和底部主信息卡进行自定义。此布局中的主要内容可以添加为 MultiSlotLayoutMultiButtonLayout 对象。
  • EdgeContentLayout - 一种布局,用于在边缘托管 CircularProgressIndicator,内部有主要内容,周围有主标签或次标签。
  • MultiButtonLayout - 一种可包含 1-7 个按钮的布局,根据按钮数量按照 Material Design 准则进行排列。
  • MultiSlotLayout - 一种类似行的样式布局,具有水平对齐和间隔的插槽(用于图标或其他小内容)。

所有布局都应用了符合 Material Design 准则的推荐内边距和样式。

API 变更

  • 对 Chip 组件进行了重大重构,包括在 Builder 中分离 setter,以便内容的每个部分都单独传递,并重命名以符合准则(主标签、次标签、图像资源 ID)。此外,如果未设置内容说明,将自动生成。(I57622
  • ProgressIndicatorLayout 已重命名为 EdgeContentLayout。(Ic1aa6
  • Button 大小内容已重命名为不带 _BUTTON 后缀的名称,并在 Button 中添加了额外的 Javadoc 澄清。(I1dfe2

Bug 修复

  • Material 布局中的边距、内边距和整体布局已更新,以适应所有类型的推荐布局、屏幕尺寸和形状。
  • Material 布局改进。在 MultiSlotLayout 中,插槽现在宽度灵活,将包裹内容而不是固定大小。( I52919), (If18b4)
  • CompactChip 上的可点击区域已增大,以遵循无障碍功能准则。(Ie8264

版本 1.1.0-alpha09

2022 年 6 月 29 日

androidx.wear.tiles:tiles-*:1.1.0-alpha09 已发布。版本 1.1.0-alpha09 包含这些提交。

新功能

  • 我们已添加在 ProgressIndicatorLayout 中添加可选标签的支持。(I30788

API 变更

  • ElementMetadata 的辅助方法现在接受 ElementMetadata 而不是 Modifiers。(I5a70f

Bug 修复

  • 已移除 CompactChip 上的 9 字符限制。如果 PrimaryLayout 中的文本过大无法适应屏幕,它将被省略号截断。(Id56ec
  • Chip 中的 getter 现在具有 _Content 后缀。(Iba437
  • 信息卡 Material 类中的 Javadoc 澄清。(I56e41),(I80f31),(Iba437

版本 1.1.0-alpha08

2022 年 6 月 1 日

androidx.wear.tiles:tiles-*:1.1.0-alpha08 已发布。版本 1.1.0-alpha08 包含这些提交。

新功能

  • 元数据标签已添加到 Modifiers 中,用于跟踪组件的元数据,并在 Helper 类中添加了辅助方法。(I70db2),(I30c3d
  • 静态方法 fromLayoutElement 已添加到 Tiles Material 中的所有组件和布局中。它应仅用于测试,将从访问容器内容获得的 LayoutElement 转换为其原始类型。(Ia572a),(Idbd8a),(I3ae13),(I292fe),(I8b20f),(I3cacb),(I84b24

版本 1.1.0-alpha07

2022 年 5 月 18 日

androidx.wear.tiles:tiles-*:1.1.0-alpha07 已发布。版本 1.1.0-alpha07 包含这些提交。

API 变更

  • 现在已将与不同内容 setter 相关的 getter 添加到 ProgressIndicatorLayoutPrimaryLayout 中。现在这些类中的所有 setter 都具有匹配的 getter。( Iddbe5) ( Iabe4e)
  • Material Components 中内容说明的 Getter 可以返回 null,因为其 setter 不是强制性的。
  • 尝试创建未传递任何内容的 Button 将导致 IllegalArgumentException。(I7fc0c
  • ChipColors 中与图标颜色相关的字段已从 iconTintColor 重命名为 iconColor。(Ic053b

Bug 修复

  • 已为 Tiles Material 中的布局添加 androidTests。(I96404

版本 1.1.0-alpha06

2022 年 5 月 11 日

androidx.wear.tiles:tiles-*:1.1.0-alpha06 已发布。版本 1.1.0-alpha06 包含这些提交。

新功能

  • 新布局已添加到 Material 布局子库 - MultiButtonLayout。它表示一个可包含 1 到 7 个按钮的布局,这些按钮按照 Material Design 准则进行排列。在大多数情况下,此布局应作为内容传递给 PrimaryLayout。(Ib727f

API 变更

  • MultiSlotLayout 已重构为只包含插槽。此布局应作为内容传递给主 PrimaryLayout。(I1870f
  • 已将 CircularProgressIndicator 的默认颜色更新为单个值,而不是主色和次色。(I64a51
  • 已为 MultiSlotLayout 中的水平间隔器添加 getter。(I11e1e

Bug 修复

  • 已为 Tiles Material 中的组件添加 Android 测试。(I20041

版本 1.1.0-alpha05

2022 年 4 月 6 日

androidx.wear.tiles:tiles-*:1.1.0-alpha05 已发布。版本 1.1.0-alpha05 包含这些提交。

新功能

  • 已添加辅助方法,用于将 LayoutElement 转换为 Layout、Timeline、TimelineEntry 到这些类中,以便更轻松地构建信息卡。(I2f6d1
  • Colors 对象已添加到 Material 库中,作为主题在组件颜色之间传递。(I0792c

API 变更

  • Material Text 组件要求在构造函数中传入文本。此组件现在可以通过设置权重进行自定义。(I25dbd
  • 已从 ChipDefaults 中移除公共 setter 中未使用的常量。(I7baed
  • 已从 CompactChipTitleChip 中移除没有匹配 setter 的 getter。(I99e85
  • 已从 ProgressIndicatorDefaults 中移除 DEFAULT_PADDING。(Idabcd
  • Material 组件现在接受 CharSequence 作为内容说明而不是 String。(I5b21a

Bug 修复

  • 重构了 Button 中可选参数的 setter 实现。(Ib7135
  • 字体样式变体已添加到 Typography 中的字体。(I8dbc6

版本 1.1.0-alpha04

2022 年 3 月 23 日

androidx.wear.tiles:tiles-*:1.1.0-alpha04 已发布。版本 1.1.0-alpha04 包含这些提交。

新功能

  • 可选的主标签或次标签可以添加到 PrimaryLayout。(Ib9916
  • 文本组件可以通过设置溢出、斜体、下划线等进行自定义。(I703f7

API 变更

  • Tiles Material API 中已移除默认颜色常量。(I0ab55
  • Tiles Material 中所有可点击的组件在其 Builder 的构造函数中需要 Clickable 对象,而不是 Action。(I2f101

Bug 修复

  • Chip 和 Text 组件中的文本现在将在溢出时绘制省略号。(I8a2f8
  • 当用户字体大小设置为大时,组件外观得到改进。(Ib63b1
  • 澄清 PrimaryLayout 中 setPrimaryChipContent 的 Javadoc。(Ie6296

版本 1.1.0-alpha03

2022 年 2 月 23 日

androidx.wear.tiles:tiles-*:1.1.0-alpha03 已发布。版本 1.1.0-alpha03 包含这些提交。

API 变更

  • 带有推荐排版样式的 Text 组件已添加到 Tiles Material。(Iec0ae

版本 1.1.0-alpha02

2022 年 2 月 9 日

androidx.wear.tiles:tiles-*:1.1.0-alpha02 已发布。版本 1.1.0-alpha02 包含这些提交。

新功能

  • Tiles Material 中已添加新的子库 layouts。它包含带有推荐内边距和外边距的 Tiles 布局,以加快 Tile 开发并简化实现。初始布局为
    • PrimaryLayout (I7ba91) 表示底部带有主信息卡且内容居中的布局。
    • MultiSlotLayout (I32104) 表示一个布局,其第 1 行和第 3 行带有标签,第 2 行带有水平对齐且带间隔的插槽,所有这些后面跟着第 4 行,其中包含一个主信息卡。
    • ProgressIndicatorLayout (I9fec6) 表示一个布局,其中屏幕边缘带有圆形进度指示器,内部有给定内容。
  • CircularProgressIndicator (Ic4b88) 已添加到 Tiles Material 组件中。

API 变更

  • TitleChip 使用的剩余常量重命名为包含 title。(I14f4c
  • setHorizontalAlignment 方法已添加到 Chip。(Ie6e0b

版本 1.1.0-alpha01

2022 年 1 月 26 日

androidx.wear.tiles:tiles-*:1.1.0-alpha01 已发布。版本 1.1.0-alpha01 包含这些提交。

新功能

  • 已添加新库 Tiles Material。它包含使用 Material Design 更快更轻松地构建 Tiles 布局的组件。初始组件有
    • Button
    • Chip
    • CompactChip
    • TitleChip

Bug 修复

  • 修复了 TileUiClient 中导致缓存资源被丢弃的 Bug。(I60e0b

版本 1.0

版本 1.0.1

2022 年 1 月 26 日

androidx.wear.tiles:tiles-*:1.0.1 已发布。版本 1.0.1 包含这些提交。

Bug 修复

  • 修复了 TileUiClient 中导致缓存资源被丢弃的 Bug。(I60e0b

版本 1.0.0

2021 年 11 月 3 日

androidx.wear.tiles:tiles-*:1.0.0 已发布。版本 1.0.0 包含这些提交。

1.0.0 的主要功能

  • Wear 信息卡库提供了为 Wear OS 设备构建自定义信息卡的功能,以及允许系统获取您的信息卡并将其显示在表盘旁边的类。
  • tiles-renderer 允许您将信息卡显示为 Android Activity 的一部分,从而方便快速测试您的信息卡布局。

版本 1.0.0-rc01

2021 年 10 月 27 日

androidx.wear.tiles:tiles-*:1.0.0-rc01 已发布。版本 1.0.0-rc01 包含这些提交。

版本 1.0.0-beta01

2021 年 10 月 13 日

androidx.wear.tiles:tiles-*:1.0.0-beta01 已发布。版本 1.0.0-beta01 包含这些提交。

Bug 修复

  • 修复了 TileUiClient 中提供空资源版本时导致 NullPointerException 的问题。(I0586e

版本 1.0.0-alpha12

2021 年 9 月 29 日

androidx.wear.tiles:tiles-*:1.0.0-alpha12 已发布。版本 1.0.0-alpha12 包含这些提交。

Bug 修复

  • UpdateScheduler 不再使用弱引用,修复了 TileUiClient 不会更新的问题。(I1120d, b/199061124

  • 声明 SysUiTileUpdateRequester 查询 PackageManager,修复了信息卡更新在 R+ 设备上无法工作的 Bug。(I1120d

版本 1.0.0-alpha11

2021 年 9 月 1 日

androidx.wear.tiles:tiles-*:1.0.0-alpha11 已发布。版本 1.0.0-alpha11 包含这些提交。

新功能

  • 已添加并发布了一个测试库 androidx.wear.tiles:tiles-testing,以使开发者能够更轻松地测试其信息卡。(Iedb6b

API 变更

  • 将 TileProviderService 重命名为 TileService。(I1ad2c
  • 信息卡构建器已更新;静态 .builder() 方法已被废弃,转而使用调用 new Foo.Builder(),并且接受 Builder 实例的 setter 重载已被移除。(Ia9606
  • TileRenderer 现在应该使用 UI 上下文,而不是应用上下文。(I84b61

Bug 修复

  • 修复了在某些情况下导致应用多重下划线的 Bug。(Ib6712

版本 1.0.0-alpha10

2021 年 8 月 18 日

androidx.wear.tiles:tiles:1.0.0-alpha10androidx.wear.tiles:tiles-proto:1.0.0-alpha10androidx.wear.tiles:tiles-renderer:1.0.0-alpha10 已发布。版本 1.0.0-alpha10 包含这些提交。

API 变更

  • 已从公共 API 中移除了布局检查器。这些检查器将始终启用,但只有在检查失败时才会发出警告。(Ie9f29
  • TileRenderer 现在接受 UI 上下文,而不是应用上下文。

Bug 修复

  • 修复了阻止可点击元素在 Spannable 中被点击的 Bug。

版本 1.0.0-alpha09

2021 年 7 月 21 日

androidx.wear.tiles:tiles:1.0.0-alpha09androidx.wear.tiles:tiles-proto:1.0.0-alpha09androidx.wear.tiles:tiles-renderer:1.0.0-alpha09 已发布。版本 1.0.0-alpha09 包含这些提交。

新功能

  • 已向 Wear Tiles 的渲染器添加布局检查器。(I3a869
    • 这些用于验证信息卡中的最佳实践。首先,如果您的信息卡不包含任何具有 Semantics 修饰符的元素,它们将发出警告。
  • 已添加 DefaultTileProviderClientTestingTileProviderClient constructors 的文档。(I9f4b9

API 变更

  • TileProviderClient 中的重命名。(I0ec36
    • getApiVersion -> requestApiVersion
    • tile/resourcesRequest -> requestTile/Resources
    • onTileFooEvent -> sendOnTileFooEvent
  • 已向 Wear Tiles 的渲染器添加布局检查器。(I3a869

Bug 修复

  • 确保 LaunchAction 目标不具有特殊权限。(I39136

版本 1.0.0-alpha08

2021 年 6 月 30 日

androidx.wear.tiles:tiles:1.0.0-alpha08androidx.wear.tiles:tiles-proto:1.0.0-alpha08androidx.wear.tiles:tiles-renderer:1.0.0-alpha08 已发布。版本 1.0.0-alpha08 包含这些提交。

新功能

  • Spannables 现在支持 line_height 而不是 line_spacing

API 变更

  • 在 Spannables 中添加对 line_height 的支持,移除 line_spacing。(Ibeb54
    • 使用 line_spacing 的代码应移植为使用 line_height

Bug 修复

  • 修复使用比例尺寸时的 Bug。(I37ace
  • 修复了阻止文本元素具有内容说明的 Bug。(Id2c7d

版本 1.0.0-alpha07

2021 年 6 月 16 日

androidx.wear.tiles:tiles:1.0.0-alpha07androidx.wear.tiles:tiles-proto:1.0.0-alpha07androidx.wear.tiles:tiles-renderer:1.0.0-alpha07 已发布。版本 1.0.0-alpha07 包含这些提交。

API 变更

  • 添加了 TileProviderClient 接口,并公开了 DefaultTileProviderClient,允许实现绑定到 TileProviderService 接口。(I69165

版本 1.0.0-alpha06

2021 年 6 月 2 日

androidx.wear.tiles:tiles:1.0.0-alpha06androidx.wear.tiles:tiles-proto:1.0.0-alpha06androidx.wear.tiles:tiles-renderer:1.0.0-alpha06 已发布。版本 1.0.0-alpha06 包含这些提交。

API 变更

  • 所有 Builder 类现在都包含所有属性的 getter。请注意,这些仅用于测试目的。( I9d155)
  • 软件包变更:androidx.wear.tiles.builders 中的类已移至 androidx.wear.tiles
  • 为信息卡添加实验性着色支持。(I38929
  • LayoutElementBuilders.HALIGN_* 重命名为 LayoutElementBuilders.HORIZONTAL_ALIGN_*。(I67e58
  • LayoutElementBuilders.VALIGN_* 重命名为 LayoutElementBuilders.VERTICAL_ALIGN_*。(I67e58
  • LayoutElementBuilders.SPAN_VALIGN_* 重命名为 LayoutElementBuilders.SPAN_VERTICAL_ALIGN_*。(I67e58
  • 添加了 Requests 和 Events 的 builder 类。(Ib5cf4
  • TileProviderService 迁移到使用 RequestBuildersEventBuilders 中的请求和事件类,而不是 RequestReaders/EventReaders(例如,onTileRequest 现在为您提供 RequestBuilders.TileRequest,而不是 RequestReaders.TileRequest)。(I46ea1)

Bug 修复

  • 修复了信息卡渲染器中异步图像加载的 Bug。(Iad9b0
  • 修复了当将宽度或高度设置为 expand() 的图像放置在宽度或高度设置为 wrap()Box 中时出现的布局 Bug。(I33770

版本 1.0.0-alpha05

2021 年 5 月 18 日

androidx.wear.tiles:tiles:1.0.0-alpha05androidx.wear.tiles:tiles-proto:1.0.0-alpha05androidx.wear.tiles:tiles-renderer:1.0.0-alpha05 已发布。版本 1.0.0-alpha05 包含这些提交。

API 变更

  • 已从传入的信息卡事件(TileAddEventTileRemoveEventTileEnterEventTileLeaveEventTileRequest)中移除 getTileId。(Ifbba2
  • ImageResource#setAndroidResourceByResid 重命名为 setAndroidResourceByResId。(I4ba6e
  • TimelineManager#deInit 重命名为 close,并实现了 AutoCloseable。(I5dff2

版本 1.0.0-alpha04

2021 年 5 月 5 日

androidx.wear.tiles:tiles:1.0.0-alpha04androidx.wear.tiles:tiles-proto:1.0.0-alpha04androidx.wear.tiles:tiles-renderer:1.0.0-alpha04 已发布。版本 1.0.0-alpha04 包含这些提交。

API 变更

  • 已隐藏具体的 TileProviderService 类。
    • 使 TileUpdateRequester 接受 Class<? extends TileProviderService>。(Ib7cca
  • 添加了向 AndroidActivity 添加 extra 的功能。(I748f4

信息卡版本 1.0.0-alpha03

2021 年 4 月 21 日

androidx.wear.tiles:tiles:1.0.0-alpha03androidx.wear.tiles:tiles-proto:1.0.0-alpha03androidx.wear.tiles:tiles-renderer:1.0.0-alpha03 已发布。版本 1.0.0-alpha03 包含这些提交。

API 变更

  • TileManager 重命名为 TileClient
    • TileManager#create 重命名为 TileClient#connect。(I91839

Bug 修复

  • 添加了 Proguard 规则,以确保在启用 Proguard 的情况下 tilestiles-renderer 正常工作。(Ie3d85

版本 1.0.0-alpha02

2021 年 4 月 7 日

androidx.wear.tiles:tiles:1.0.0-alpha02androidx.wear.tiles:tiles-proto:1.0.0-alpha02androidx.wear.tiles:tiles-renderer:1.0.0-alpha02 已发布。版本 1.0.0-alpha02 包含这些提交。

API 变更

  • androidx.wear:wear-tiles 已移动组,现在应引用为 androidx.wear.tiles:tiles
  • androidx.wear:wear-tiles-renderer 已移动组,现在应引用为 androidx.wear.tiles:tiles-renderer
  • TileRenderer.LoadActionListener 现在使用 androidx.wear.tiles.builders.StateBuilders.State 的实例,而不是 androidx.wear.tiles.proto.StateProto.State
  • TileRenderer 现在接受来自 androidx.wear.tiles.builders.ResourceBuilders.Resources 的信息卡资源,而不是 androidx.wear.tiles.renderer.ResourceAccessors 的实例。

Bug 修复

  • 修复了无法使用 LoadActionListener 的问题,因为它公开了一个内部类。

版本 1.0.0-alpha01

2021 年 3 月 10 日

androidx.wear:wear-tiles:1.0.0-alpha01androidx.wear:wear-tiles-proto:1.0.0-alpha01androidx.wear:wear-tiles-renderer:1.0.0-alpha01 已发布。版本 1.0.0-alpha01 包含这些提交。

新功能

  • Wear 信息卡渲染器库提供了为 Wear OS 设备构建自定义信息卡的功能,以及允许系统获取您的信息卡并将其显示在表盘旁边的类。