Wear OS 支持对功能块和复杂功能中显示的信息进行动态更新。
通过动态表达式,您可以将显示在应用 surface 上的数据(例如功能块或复杂功能)绑定到特定数据源。平台可读取的心率数据就是此类数据源的一个例子。创建此绑定后,系统会自动更新功能块和复杂功能中的数据。
创建动态数据绑定
如需创建动态数据绑定,请定义一个使用动态数据类型的变量。将此变量与您要使用的数据流相关联。
例如,您可以提取与系统时钟和健康信息相关的值,如以下代码段所示。
Kotlin
val systemTime = DynamicInstant.platformTimeWithSecondsPrecision() val steps: DynamicInt32 = PlatformHealthSources.dailySteps()
Java
DynamicInstant systemTime = DynamicInstant.platformTimeWithSecondsPrecision(); DynamicInt32 steps = PlatformHealthSources.dailySteps();
您还可以通过常量表达式创建动态值,并针对所有动态值执行算术运算,如以下代码段所示:
Kotlin
val dynamicValue = DynamicInt32.constant(1).plus(2)
Java
DynamicInt32 dynamicValue = DynamicInt32.constant(1).plus(2)
可能的动态数据类型列表
Wear OS 支持以下动态数据类型:
此外,您还可以使用内置功能转换数据类型,例如:
DynamicInt32
支持使用format()
转换为DynamicString
。DynamicDuration
允许您将特定部分(例如持续时间的秒数部分)提取为DynamicInt32
对象。
限制每个界面上的动态表达式数量
系统对特定界面上可同时处理的动态表达式数量设有限制,因而会将任何额外的动态表达式转换为静态值。
Wear OS 也将常量表达式视为动态表达式。例如,以下代码段包含 4 个动态表达式:
plus()
运算。animate()
运算。constant(1)
表达式。constant(2)
表达式,隐含在plus()
动态表达式的值2
中。
DynamicInt32.constant(1).plus(2).animate()
为您推荐
- 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
- 迁移到 ProtoLayout 命名空间
- Compose 中的附带效应
- AGSL 快速参考