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 的默认样式集合,提供各类控件的预置样式获取接口
- 构造:无
-
成员函数:
接口名称 功能简述 Init 初始化所有预置样式 GetDefaultStyle 获取默认样式 GetBrightStyle 获取明亮样式 GetBrightColorStyle 获取明亮彩色样式 GetButtonPressedStyle 获取按钮按下样式 GetButtonReleasedStyle 获取按钮释放样式 GetButtonInactiveStyle 获取按钮非激活样式 GetLabelStyle 获取标签样式 GetEditTextStyle 获取编辑文本样式 GetBackgroundTransparentStyle 获取背景透明样式 GetProgressBackgroundStyle 获取进度条背景样式 GetProgressForegroundStyle 获取进度条前景样式 GetSliderKnobStyle 获取滑块旋钮样式 GetPickerBackgroundStyle 获取选择器背景样式 GetPickerHighlightStyle 获取选择器高亮样式 GetScrollBarBackgroundStyle 获取滚动条背景样式 GetScrollBarForegroundStyle 获取滚动条前景样式 -
使用包含头文件:
#include "gfx_utils/style.h" - 声明头文件:
middleware/services/gui/uikit/utils/interfaces/kits/gfx_utils/style.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
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 | 线条宽度 |