关于复杂功能

一个 复杂功能 是除了时间以外,在手表表盘上显示的任何功能。例如,电池指示器就是一个复杂功能。 复杂功能 API 适用于手表表盘和数据源应用。

本文档的其余部分介绍了数据源、手表表盘和复杂功能类型。

复杂功能数据源

为手表表盘上的复杂功能提供电池电量、天气或步数等数据的应用称为复杂功能数据源。这些数据源提供原始数据,不负责控制如何在手表表盘上渲染数据。要了解如何编写向手表表盘提供数据的应用,请参阅 向复杂功能公开数据

下图展示了 Google Wear OS 如何协调数据从源流向手表表盘。

Complications data flow
图 1. 复杂功能数据的流程。

手表表盘上的复杂功能

手表表盘从复杂功能数据源接收数据,这使他们能够包含复杂功能,而无需获取基础数据的代码。手表表盘保留对数据渲染方式的控制权,以便他们能够将数据自然地与其设计集成。有关更多信息,请参阅关于 复杂功能 的设计指南。

要了解如何将复杂功能添加到手表表盘,请参阅 向手表表盘添加复杂功能

复杂功能类型

复杂功能类型定义了可以在复杂功能中显示或由数据源提供的哪些类型的数据。例如,当数据主要包含一个短字符串时,请使用 SHORT_TEXT 类型。一个 ComplicationData 对象始终只有一个复杂功能类型,该类型定义了必需字段和可选字段。必需字段代表主要数据;大多数类型都以必需字段命名。

数据源对复杂功能类型的使用方式不同于手表表盘

  • 数据源选择要提供的复杂数据类型,包括要提供的这些类型的哪些可选字段以及可以支持多少种不同的类型。例如,计步数据源可能支持RANGED_VALUESHORT_TEXT类型,而下次会议数据源可能支持SHORT_TEXTLONG_TEXT类型。
  • 您可以选择在您的表盘中包含多少个复杂项以及要支持的复杂项类型。例如,表盘上的拨号复杂项可能支持SHORT_TEXTICONRANGED_VALUE类型。表盘上的仪表可能只支持RANGED_VALUE类型。

要详细了解每种类型支持的不同复杂项类型和字段,请参阅 复杂项类型