ui_digital_clock
ui_digital_clock 模块提供数字时钟组件,支持以数字形式显示时分秒。
Class Summary
OHOS::UIDigitalClock
数字时钟组件,以数字形式显示时、分、秒
- 构造:无
-
成员函数:
接口名称 功能简述 GetViewType 获取视图类型 SetFontId 设置数字时钟的动态字体 ID SetFont 设置数字时钟的动态字体 SetColor 设置数字时钟的前景字体颜色 SetDisplayMode 设置数字时钟的显示模式 GetDisplayMode 获取数字时钟的显示模式 DisplayLeadingZero 设置小时前是否补零显示 SetOpacity 设置数字时钟的不透明度 GetOpacity 获取数字时钟的不透明度 UpdateClock 更新数字时钟显示 -
使用包含头文件:
#include "components/ui_digital_clock.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_digital_clock.h - 公有运算符:无
- 继承关系:UIAbstractClock
- 嵌套类型:enum DisplayMode, enum TimeElement
- 模板形参:无
Functions
OHOS::UIDigitalClock
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前视图的类型标识
- 返回值为
UI_DIGITAL_CLOCK,用于区分数字时钟与其他视图类型 - 该函数为
const成员函数,不修改对象状态
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_DIGITAL_CLOCK | 当前对象为数字时钟视图 |
SetFontId
void SetFontId(uint8_t fontId)
功能说明
- 核心用途:设置数字时钟使用的动态字体 ID
- 设置后自动刷新时钟显示内容
- 该函数同时更新所有时间元素标签的字体 ID
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| fontId | uint8_t | 动态字体 ID | 0 ~ 255 |
SetFont
void SetFont(const char* name, uint8_t size)
功能说明
- 核心用途:通过字体名称和大小设置数字时钟使用的动态字体
- 设置后自动刷新时钟显示内容
- 该函数同时更新所有时间元素标签的字体
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| name | const char* | 字体名称字符串指针,入参只读指针,不修改所指对象 | 非 nullptr |
| size | uint8_t | 字体大小 | 0 ~ 255 |
SetColor
void SetColor(ColorType color)
功能说明
- 核心用途:设置数字时钟的前景字体颜色
- 设置后自动刷新时钟显示内容
- 该函数同时更新所有时间元素标签的文字颜色
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| color | ColorType | 前景颜色值 | ColorType 有效范围 |
SetDisplayMode
void SetDisplayMode(DisplayMode dm)
功能说明
- 核心用途:设置数字时钟的显示模式(12/24 小时制、是否显示秒)
- 设置后立即更新时钟显示内容
- 显示模式决定了时、分、秒各元素的显示与格式
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dm | DisplayMode | 显示模式 | DisplayMode 枚举值 |
GetDisplayMode
DisplayMode GetDisplayMode() const
功能说明
- 核心用途:获取数字时钟当前的显示模式
- 该函数为
const成员函数,不修改对象状态 - 返回值用于判断当前为 12 小时制或 24 小时制及是否显示秒
返回值
- 返回类型:
DisplayMode
返回当前显示模式
| 返回值 | 触发场景 |
|---|---|
| DISPLAY_12_HOUR_NO_SECONDS(0) | 12 小时制,不显示秒 |
| DISPLAY_24_HOUR_NO_SECONDS(1) | 24 小时制,不显示秒 |
| DISPLAY_12_HOUR(2) | 12 小时制,显示秒 |
| DISPLAY_24_HOUR(3) | 24 小时制,显示秒 |
DisplayLeadingZero
void DisplayLeadingZero(bool displayLeadingZero)
功能说明
- 核心用途:设置小时数字前是否补零显示
- 设置后自动更新时钟显示内容
true表示小时前补零(如 01:00),false表示不补零(如 1:00)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| displayLeadingZero | bool | 是否在小时前补零 | true:补零;false:不补零 |
SetOpacity
void SetOpacity(uint8_t opacity)
功能说明
- 核心用途:设置数字时钟的不透明度
- 该函数同时设置所有时间元素标签的文字不透明度
- 设置后自动刷新时钟显示内容
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| opacity | uint8_t | 不透明度值 | 0(完全透明)~ 255(完全不透明) |
GetOpacity
uint8_t GetOpacity() const
功能说明
- 核心用途:获取数字时钟当前的不透明度
- 该函数为
const成员函数,不修改对象状态 - 返回值范围为 [0, 255]
返回值
- 返回类型:
uint8_t
返回当前不透明度
| 返回值 | 触发场景 |
|---|---|
| 0 | 完全透明 |
| 255 | 完全不透明 |
UpdateClock
void UpdateClock(bool clockInit) override
功能说明
- 核心用途:更新数字时钟的显示内容
- 根据当前时间和显示模式刷新时、分、秒各标签的文字内容
- 该函数重写自基类
UIAbstractClock::UpdateClock
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| clockInit | bool | 是否为首次初始化 | true:首次初始化;false:非首次初始化 |
Enumerations
DisplayMode
enum DisplayMode : uint8_t {
DISPLAY_12_HOUR_NO_SECONDS,
DISPLAY_24_HOUR_NO_SECONDS,
DISPLAY_12_HOUR,
DISPLAY_24_HOUR
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| DISPLAY_12_HOUR_NO_SECONDS | 0 | 12 小时制,不显示秒 |
| DISPLAY_24_HOUR_NO_SECONDS | 1 | 24 小时制,不显示秒 |
| DISPLAY_12_HOUR | 2 | 12 小时制,显示秒 |
| DISPLAY_24_HOUR | 3 | 24 小时制,显示秒 |
TimeElement
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| HOUR_ELEMENT | 0 | 小时元素 |
| MINUTE_ELEMENT | 1 | 分钟元素 |
| SECOND_ELEMENT | 2 | 秒元素 |