跳转至

style

style 模块提供样式管理功能,包含样式属性定义与默认样式常量。

Class Summary

OHOS::Style

定义样式的基本属性与操作接口,用于设置和获取 UI 控件的外观样式

  • 构造:无
  • 成员函数

    接口名称 功能简述
    SetStyle 设置指定样式键的值
    GetStyle 获取指定样式键的值
  • 使用包含头文件#include "gfx_utils/style.h"

  • 声明头文件middleware/services/gui/uikit/utils/interfaces/kits/gfx_utils/style.h
  • 公有运算符:无
  • 继承关系:HeapBase
  • 嵌套类型:无
  • 模板形参:无

OHOS::StyleDefault

定义 UIView 的默认样式集合,提供各类控件的预置样式获取接口

Functions

OHOS::Style

SetStyle

void SetStyle(uint8_t key, int64_t value)

功能说明

  • 核心用途:根据样式键设置对应的样式值
  • 设计目的:提供统一的键值对方式配置样式属性,包括背景色、边框、内边距、外边距、文字、线条等
  • 使用场景:在创建或修改 UI 控件外观时,通过指定样式键和值来更新控件样式属性

入参

名称 参数类型 详细说明 约束取值范围
key uint8_t 样式键,标识待设置的样式属性 STYLE_BACKGROUND_COLOR ~ STYLE_LINE_CAP
value int64_t 样式值,与 key 对应的属性值 由具体 key 决定:颜色类为 ColorType.full 值;透明度类为 0~255;尺寸类为 int16_t 范围值;字体为 uint16_t;线帽为 CapType 枚举值

GetStyle

int64_t GetStyle(uint8_t key) const

功能说明

  • 核心用途:根据样式键获取对应的样式值
  • 设计目的:提供统一的键值对方式查询已设置的样式属性
  • 使用场景:在需要读取 UI 控件当前样式属性值时调用,如获取背景色、边框宽度等

入参

名称 参数类型 详细说明 约束取值范围
key uint8_t 样式键,标识待查询的样式属性 STYLE_BACKGROUND_COLOR ~ STYLE_LINE_CAP

返回值

  • 返回类型:int64_t

返回指定样式键对应的属性值

返回值 触发场景
非零值 key 对应的样式属性值(颜色类为 ColorType.full;透明度为 0~255;尺寸为具体数值)
0 key 不在有效范围内(default 分支)

OHOS::StyleDefault

Init

static void Init()

功能说明

  • 核心用途:初始化所有预置样式,包括默认样式、明亮样式、按钮样式、标签样式、编辑文本样式、背景透明样式、进度条样式、选择器样式、滚动条样式
  • 设计目的:在 UI 框架启动阶段统一初始化各控件默认外观,确保后续获取预置样式时数据已就绪
  • 使用场景:在 UI 子系统初始化时调用,必须在使用任何 GetXxxStyle 接口之前完成调用

前置条件

  • UI 子系统已启动,相关资源已加载
  • Init 仅需调用一次,重复调用会覆盖已有预置样式配置

GetDefaultStyle

static Style& GetDefaultStyle()

功能说明

  • 核心用途:获取默认样式引用
  • 设计目的:为 UIView 提供基础默认外观配置,包括黑色背景、白色文字、不透明边框等
  • 使用场景:创建 UI 控件时作为初始样式,或在需要重置控件外观时使用

返回值

  • 返回类型:Style&

返回默认样式的引用

返回值 触发场景
defaultStyle_ 始终返回默认样式引用

GetBrightStyle

static Style& GetBrightStyle()

功能说明

  • 核心用途:获取明亮样式引用
  • 设计目的:提供白色背景、深色文字和边框的高对比度外观配置
  • 使用场景:需要明亮主题风格的 UI 控件外观设置

返回值

  • 返回类型:Style&

返回明亮样式的引用

返回值 触发场景
brightStyle_ 始终返回明亮样式引用

GetBrightColorStyle

static Style& GetBrightColorStyle()

功能说明

  • 核心用途:获取明亮彩色样式引用
  • 设计目的:在明亮样式基础上提供彩色背景与浅色文字的外观配置
  • 使用场景:需要明亮彩色主题风格的 UI 控件外观设置

返回值

  • 返回类型:Style&

返回明亮彩色样式的引用

返回值 触发场景
brightColorStyle_ 始终返回明亮彩色样式引用

GetButtonPressedStyle

static Style& GetButtonPressedStyle()

功能说明

  • 核心用途:获取按钮按下状态的样式引用
  • 设计目的:提供按钮被按下时的视觉反馈外观,包括较亮的背景色
  • 使用场景:按钮控件处于按下状态时应用此样式

返回值

  • 返回类型:Style&

返回按钮按下样式的引用

返回值 触发场景
buttonPressedStyle_ 始终返回按钮按下样式引用

GetButtonReleasedStyle

static Style& GetButtonReleasedStyle()

功能说明

  • 核心用途:获取按钮释放状态的样式引用
  • 设计目的:提供按钮默认(释放)状态的外观配置,包括蓝色背景、圆角边框
  • 使用场景:按钮控件处于释放(默认)状态时应用此样式

返回值

  • 返回类型:Style&

返回按钮释放样式的引用

返回值 触发场景
buttonReleasedStyle_ 始终返回按钮释放样式引用

GetButtonInactiveStyle

static Style& GetButtonInactiveStyle()

功能说明

  • 核心用途:获取按钮非激活状态的样式引用
  • 设计目的:提供按钮不可交互时的灰色外观,标识按钮当前不可操作
  • 使用场景:按钮控件被禁用或不可点击时应用此样式

返回值

  • 返回类型:Style&

返回按钮非激活样式的引用

返回值 触发场景
buttonInactiveStyle_ 始终返回按钮非激活样式引用

GetLabelStyle

static Style& GetLabelStyle()

功能说明

  • 核心用途:获取标签样式引用
  • 设计目的:提供文本标签的默认外观配置,背景透明
  • 使用场景:标签控件创建时作为默认样式

返回值

  • 返回类型:Style&

返回标签样式的引用

返回值 触发场景
labelStyle_ 始终返回标签样式引用

GetEditTextStyle

static Style& GetEditTextStyle()

功能说明

  • 核心用途:获取编辑文本样式引用
  • 设计目的:提供文本输入框的外观配置,包括透明背景、白色边框和圆角
  • 使用场景:编辑文本控件创建时作为默认样式

返回值

  • 返回类型:Style&

返回编辑文本样式的引用

返回值 触发场景
editTextStyle_ 始终返回编辑文本样式引用

GetBackgroundTransparentStyle

static Style& GetBackgroundTransparentStyle()

功能说明

  • 核心用途:获取背景透明样式引用
  • 设计目的:提供背景完全透明的外观配置,用于浮动或叠加控件
  • 使用场景:需要透明背景的 UI 控件外观设置

返回值

  • 返回类型:Style&

返回背景透明样式的引用

返回值 触发场景
backgroundTransparentStyle_ 始终返回背景透明样式引用

GetProgressBackgroundStyle

static Style& GetProgressBackgroundStyle()

功能说明

  • 核心用途:获取进度条背景样式引用
  • 设计目的:提供进度条背景轨道的外观配置,无边框无圆角
  • 使用场景:进度条控件的背景轨道部分样式设置

返回值

  • 返回类型:Style&

返回进度条背景样式的引用

返回值 触发场景
progressBackgroundStyle_ 始终返回进度条背景样式引用

GetProgressForegroundStyle

static Style& GetProgressForegroundStyle()

功能说明

  • 核心用途:获取进度条前景样式引用
  • 设计目的:提供进度条前景填充区域的外观配置,无边框、蓝色线条
  • 使用场景:进度条控件的填充进度部分样式设置

返回值

  • 返回类型:Style&

返回进度条前景样式的引用

返回值 触发场景
progressForegroundStyle_ 始终返回进度条前景样式引用

GetSliderKnobStyle

static Style& GetSliderKnobStyle()

功能说明

  • 核心用途:获取滑块旋钮样式引用
  • 设计目的:提供滑块控件旋钮部分的外观配置,基于明亮彩色样式且无边框
  • 使用场景:滑块控件的旋钮部分样式设置

返回值

  • 返回类型:Style&

返回滑块旋钮样式的引用

返回值 触发场景
sliderKnobStyle_ 始终返回滑块旋钮样式引用

GetPickerBackgroundStyle

static Style& GetPickerBackgroundStyle()

功能说明

  • 核心用途:获取选择器背景样式引用
  • 设计目的:提供选择器控件背景区域的外观配置,透明背景、灰色文字
  • 使用场景:选择器控件的背景项样式设置

返回值

  • 返回类型:Style&

返回选择器背景样式的引用

返回值 触发场景
pickerBackgroundStyle_ 始终返回选择器背景样式引用

GetPickerHighlightStyle

static Style& GetPickerHighlightStyle()

功能说明

  • 核心用途:获取选择器高亮样式引用
  • 设计目的:提供选择器控件高亮选中项的外观配置,透明背景、较大字体、蓝色文字
  • 使用场景:选择器控件的高亮选中项样式设置

返回值

  • 返回类型:Style&

返回选择器高亮样式的引用

返回值 触发场景
pickerHighlightStyle_ 始终返回选择器高亮样式引用

GetScrollBarBackgroundStyle

static Style& GetScrollBarBackgroundStyle()

功能说明

  • 核心用途:获取滚动条背景样式引用
  • 设计目的:提供滚动条背景轨道的外观配置,灰色半透明背景和线条
  • 使用场景:滚动条控件的背景轨道部分样式设置

前置条件

  • StyleDefault::Init() 已调用完成

返回值

  • 返回类型:Style&

返回滚动条背景样式的引用

返回值 触发场景
scrollBarBackgroundStyle_ 始终返回滚动条背景样式引用

GetScrollBarForegroundStyle

static Style& GetScrollBarForegroundStyle()

功能说明

  • 核心用途:获取滚动条前景样式引用
  • 设计目的:提供滚动条前景滑块的外观配置,白色半透明背景和线条
  • 使用场景:滚动条控件的滑块部分样式设置

前置条件

  • StyleDefault::Init() 已调用完成

返回值

  • 返回类型:Style&

返回滚动条前景样式的引用

返回值 触发场景
scrollBarForegroundStyle_ 始终返回滚动条前景样式引用

Enumerations

CapType: uint8_t

enum CapType : uint8_t {
    /** No cap style */
    CAP_NONE,
    /** Round cap style */
    CAP_ROUND,
    CAP_ROUND_UNSHOW,
};
枚举成员 取值 描述
CAP_NONE 0 无线帽样式
CAP_ROUND 1 圆角线帽样式
CAP_ROUND_UNSHOW 2 圆角线帽不显示样式

Structures

OHOS::Style

class Style : public HeapBase {
public:
    Style();
    virtual ~Style() {}
    void SetStyle(uint8_t key, int64_t value);
    int64_t GetStyle(uint8_t key) const;
    /* background style */
    ColorType bgColor_;
    uint8_t bgOpa_;
    /* border style */
    uint8_t borderOpa_;
    int16_t borderWidth_;
    int16_t borderRadius_;
    ColorType borderColor_;
    /* padding style */
    uint16_t paddingLeft_;
    uint16_t paddingRight_;
    uint16_t paddingTop_;
    uint16_t paddingBottom_;
    /* margin style */
    int16_t marginLeft_;
    int16_t marginRight_;
    int16_t marginTop_;
    int16_t marginBottom_;
    /* image style */
    uint8_t imageOpa_;
    /* text style */
    uint8_t textOpa_;
    uint16_t font_;
    int8_t lineSpace_;
    int16_t letterSpace_;
    int16_t lineHeight_;
    ColorType textColor_;
    /* line style */
    ColorType lineColor_;
    uint8_t lineOpa_;
    uint8_t lineCap_;
    int16_t lineWidth_;
};

成员说明

成员名称 数据类型 描述
bgColor_ ColorType 背景颜色
bgOpa_ uint8_t 背景透明度,取值范围 0~255
borderOpa_ uint8_t 边框透明度,取值范围 0~255
borderWidth_ int16_t 边框宽度
borderRadius_ int16_t 边框圆角半径
borderColor_ ColorType 边框颜色
paddingLeft_ uint16_t 左内边距
paddingRight_ uint16_t 右内边距
paddingTop_ uint16_t 上内边距
paddingBottom_ uint16_t 下内边距
marginLeft_ int16_t 左外边距
marginRight_ int16_t 右外边距
marginTop_ int16_t 上外边距
marginBottom_ int16_t 下外边距
imageOpa_ uint8_t 图片透明度,取值范围 0~255
textOpa_ uint8_t 文字透明度,取值范围 0~255
font_ uint16_t 文字字体大小
lineSpace_ int8_t 行间距,可为负值
letterSpace_ int16_t 字符间距
lineHeight_ int16_t 行高
textColor_ ColorType 文字颜色
lineColor_ ColorType 线条颜色
lineOpa_ uint8_t 线条透明度,取值范围 0~255
lineCap_ uint8_t 线帽样式,取值为 CapType 枚举值
lineWidth_ int16_t 线条宽度