Wear Tiles

打造适用于 Wear OS by Google 谷歌智能手表的应用。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2024 年 12 月 11 日 1.4.1 - - 1.5.0-alpha05

声明依赖项

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

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

Groovy

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

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

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

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

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

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

Kotlin

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

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

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

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

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

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

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

反馈

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

创建新问题

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

版本 1.5

版本 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 annotations,即类型使用。Kotlin 开发者应使用以下编译器参数来强制执行正确的用法:-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I390e9b/326456246)
  • 修复了以下 bug:当应用 targetSdk 高于 34 时,在 API 34 上请求功能块更新会导致 SecurityException (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 移至构建器构造函数参数作为必填字段,并在 getter 中记录默认时间戳值。(I98c2b)
  • 添加了批处理功能块进入/离开事件所需的 TileInteractionEventTileEnterTileLeave proto 消息以及 Java 封装容器。(I112b0)
  • 重构了 TileRenderer,以使用构建器而非 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 Tiles 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 类型(而非已废弃的功能块类型)的版本。
  • 为简化此迁移,我们整理了一些说明和脚本,可用于执行此重命名操作,请点击此处查看。

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)
  • 现在,所有功能块渲染程序 API 都全面支持 protolayout 类型。(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 变更

  • 我们为 TileRenderer 添加了对 androidx.wear.protolayout 类型的支持 (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 变更

  • Tiles 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 以来的重要变更

  • 这是包含 Tiles Material 库的第一个稳定版本(如需了解详情,请参阅我们的博客)。
  • 此库包含符合 Material 准则且易于使用的组件和布局。所包含的组件是 ButtonChipCompactChipTitleChipCircularProgressIndicatorText。所有这些组件都有自己的颜色对象,这些对象可以使用主 Color 类进行构建,以便轻松将相同的主题应用于所有组件。除了颜色之外,还有一个 Typography 类,可使用排版名称轻松获取 FontStyle 对象。
  • 除了组件之外,还有几个推荐的图块布局:PrimaryLayoutEdgeContentLayoutMultiButtonLayoutMultiSlotLayout。所有布局都采用了符合 Material 准则的推荐内边距和样式。
  • 如需查看 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 中包含这些提交内容

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

其中包含的组件包括:

  • Button - 可点击的圆形对象,包含图标、文本或图片(具有 3 种预定义的尺寸)。
  • Chip - 可点击的体育场形对象,可以包含图标、主标签和次级标签,并且具有固定的高度和可自定义的宽度。
  • CompactChipTitleChip - 标准 Chip 的两个变体,但高度不同(一个较矮,一个较高),可以包含一行文本。
  • CircularProgressIndicator - 位于屏幕边缘周围的彩色弧线,具有给定的起始角度和结束角度,可描绘一个完整或部分的圆圈,后面显示完整的进度弧。
  • Text - 使用建议的 Wear Material 排版样式的风格化文本

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

除了组件之外,我们还推荐使用以下图块布局:

  • PrimaryLayout - 一种可自定义的布局,支持添加主标签或次级标签、在中间添加内容,以及在底部添加主条状标签。可将此布局中的主要内容添加为 MultiSlotLayoutMultiButtonLayout 对象。
  • EdgeContentLayout - 一种布局,用于在边缘周围托管 CircularProgressIndicator,主要内容位于其内部,主标签或次级标签位于其周围。
  • MultiButtonLayout - 一种布局,可以包含 1-7 个按符合 Material 准则的方式排列(具体取决于其序号)的按钮。
  • MultiSlotLayout - 行式的样式布局,包含水平对齐和间隔的槽(适用于图标或其他小体积的内容)。

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

API 变更

  • 对 Chip 组件进行了重大重构(在构建器中加入了分离的 setter),这样就可以按照准则将内容的每个部分在重命名后单独传入(主标签、次级标签、图片资源 ID)。此外,内容说明会自动生成(如果未设置的话)。(I57622)
  • ProgressIndicatorLayout 重命名成了 EdgeContentLayout。(Ic1aa6)
  • Button 中,将按钮大小内容重命名成了 without _BUTTON 后缀,并额外添加 Javadocs 澄清说明。(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,而不是修饰符。(I5a70f)

bug 修复

  • 已取消 CompactChip 上的 9 个字符限制。如果文本太大而无法放入屏幕的 PrimaryLayout 中,则会被省略。(Id56ec)
  • Chip 中的 getter 现在有“内容”后缀。(Iba437)
  • Tiles 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)
  • 向 Tiles Material 中的所有组件和布局添加了静态方法 fromLayoutElement。它应该用于测试,以便将通过访问容器的内容而获得的 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 组件中,内容说明的 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 Layouts 子库 MultiButtonLayout 中。它代表一个布局,其中可以包含 1 到 7 个按符合 Material 准则的方式排列的按钮。在大多数情况下,此类布局应以内容形式传入 PrimaryLayout。 (Ib727f)

API 变更

  • 重构了 MultiSlotLayout,使其中只包含槽。此布局应以内容形式传递给主 PrimaryLayout。(I1870f)
  • 将针对 CircularProgressIndicator 定义的默认颜色更新为单个值,而不是主要值和次要值。(I64a51)
  • MultiSlotLayout 中为水平分隔符添加了 getter。(I11e1e)

bug 修复

  • 向 Tiles Material 中添加了针对 Components 的 Android 测试。(I20041)

版本 1.1.0-alpha05

2022 年 4 月 6 日

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

新功能

  • 向 Layout、Timeline 和 TimelineEntry 类添加了辅助方法,用于将 LayoutElement 转换为这些类,从而更轻松地构建 Tiles。(I2f6d1)
  • 向 Material 库中添加了 Colors 对象,以作为主题跨各个组件的颜色传入。(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 中的所有可点击组件都需要在其构建器的构造函数中使用 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 变更

  • 向 TIles Material 添加了采用推荐排版样式的 Text 组件。(Iec0ae)

版本 1.1.0-alpha02

2022 年 2 月 9 日

发布了 androidx.wear.tiles:tiles-*:1.1.0-alpha02版本 1.1.0-alpha02 中包含这些提交内容

新功能

  • 在 Tiles Material 中添加了一个新的子库 layouts。它包含主观的图块布局,已应用建议的内边距和外边距,使图块开发得以更快、更轻松地实现。初始布局为:
    • PrimaryLayout (I7ba91) 表示一种底部有一个主贴块且中心包含内容的布局。
    • MultiSlotLayout (I32104) 表示一种布局:第 1 行和第 3 行上有标签,第 2 行上有横向对齐且间隔一致的槽,第 4 行包含主贴块。
    • ProgressIndicatorLayout (I9fec6) 表示一种布局:围绕着屏幕边缘显示圆形进度指示器,并且范围内显示给定内容。
  • 向 Tiles Material 组件中添加了 CircularProgressIndicator (Ic4b88)。

API 变更

  • 重命名了 TitleChip 使用的剩余常量,以便在名称中包含标题。(I14f4c)
  • Chip 中添加了 setHorizontalAlignment 方法。(Ie6e0b)

版本 1.1.0-alpha01

2022 年 1 月 26 日

发布了 androidx.wear.tiles:tiles-*:1.1.0-alpha01版本 1.1.0-alpha01 中包含这些提交内容

新功能

  • 添加了新的库 Tiles Material。它包含可借助 Material Design 更轻松快捷地构建图块布局的组件。初始组件包括:
    • 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 Tiles 库提供为 Wear OS 设备构建自定义图块的功能,以及可让系统提取图块并将其显示在表盘旁边的类。
  • 借助图块渲染程序,您可以在 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 不会更新的问题(I1120db/199061124

  • 声明 SysUiTileUpdateRequester 会查询 PacakgeManager,从而修复了图块更新无法在 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 现在应使用界面上下文,而不是应用上下文。(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 现在接受界面上下文,而不是应用上下文。

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 中包含这些提交内容

新功能

  • Spannable 现在支持 line_height 而非 line_spacing。

API 变更

  • 在 Spannable 中添加了对 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 变更

  • 所有构建器类现在都包含所有属性的 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)
  • 为请求和事件添加了构建器类。(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)

Tiles 版本 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 规则,以确保 tilestiles-renderer 在启用 Proguard 的情况下能正常运行 (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 Tiles Renderer 库提供了为 Wear OS 设备构建自定义图块的功能,以及可让系统提取图块并将其显示在表盘旁边的类。