Wear Tiles

打造适用于 Wear OS by Google 谷歌智能手表的应用。
最近更新时间 稳定版 候选版本 Beta 版 Alpha 版
2022 年 6 月 1 日 1.0.1 - - 1.1.0-alpha08

声明依赖项

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

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

Groovy

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

    // Use to utilize components and layouts with Material design in your tiles
    implementation "androidx.wear.tiles:tiles-material:1.1.0-alpha09"

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

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

Kotlin

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

    // Use to utilize components and layouts with Material design in your tiles
    implementation("androidx.wear.tiles:tiles-material:1.1.0-alpha09")

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

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

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

反馈

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

创建新问题

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

版本 1.1

版本 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 中导致缓存资源被舍弃的错误。(I60e0b)

版本 1.0

版本 1.0.1

2022 年 1 月 26 日

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

bug 修复

  • 修复了 TileUiClient 中导致缓存资源被舍弃的错误。(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 设备构建自定义图块的功能,以及可让系统提取图块并将其显示在表盘旁边的类。