Wear OS 支持对显示在磁贴和复杂功能中的信息进行动态更新。
使用动态表达式,您可以将显示在应用界面(例如磁贴或复杂功能)上的数据绑定到特定的数据源。此类数据源的一个示例是平台可以读取的心率数据。建立此绑定后,系统会自动更新磁贴和复杂功能中的数据。
创建动态数据绑定
要创建动态数据绑定,请定义一个使用动态数据类型的变量。将此变量与您要使用的数据流关联。
例如,您可以获取与系统时钟和健康信息相关的值,如下面的代码片段所示。
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
支持转换为DynamicString
,可以使用format()
。DynamicDuration
允许您提取特定部分,例如持续时间的秒部分,作为DynamicInt32
对象。
每个屏幕上使用有限数量的动态表达式
系统对特定屏幕上可以同时处理的动态表达式的数量有限制。系统会将任何额外的动态表达式转换为静态值。
Wear OS 也将常量表达式视为动态表达式。例如,以下代码片段包含 4 个动态表达式
plus()
操作。animate()
操作。constant(1)
表达式。constant(2)
表达式,它由plus()
动态表达式中的值2
隐含。
DynamicInt32.constant(1).plus(2).animate()
推荐内容
- 注意:当 JavaScript 关闭时,显示链接文本
- 迁移到 ProtoLayout 命名空间
- Compose 中的副作用
- AGSL 快速参考