跳转至

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

enum TimeElement : uint8_t {
    HOUR_ELEMENT = 0,
    MINUTE_ELEMENT,
    SECOND_ELEMENT
};
枚举成员 取值 描述
HOUR_ELEMENT 0 小时元素
MINUTE_ELEMENT 1 分钟元素
SECOND_ELEMENT 2 秒元素