ui_box_progress
ui_box_progress 模块提供方形进度条组件,支持矩形区域内填充式进度显示。
Class Summary
OHOS::UIBoxProgress
表示线性进度条,支持设置范围、当前值及多方向显示
- 构造:无
-
成员函数:
接口名称 功能简述 GetViewType 获取视图类型 SetWidth 设置进度条所在视图的宽度 SetHeight 设置进度条所在视图的高度 SetDirection 设置进度条方向 GetDirection 获取进度条方向 SetValidWidth 设置进度条实际宽度 GetValidWidth 获取进度条实际宽度 SetValidHeight 设置进度条实际高度 GetValidHeight 获取进度条实际高度 OnDraw 绘制进度条 -
使用包含头文件:
#include "components/ui_box_progress.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_box_progress.h - 公有运算符:无
- 继承关系:UIAbstractProgress
- 嵌套类型:Direction(公有嵌套枚举类)
- 模板形参:无
Functions
OHOS::UIBoxProgress
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前视图的类型标识
- 返回值为
UI_BOX_PROGRESS,标识该视图为线性进度条 - 该函数为 const 成员函数,不修改对象状态
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_BOX_PROGRESS | 当前对象为线性进度条视图 |
SetWidth
void SetWidth(int16_t width) override
功能说明
- 核心用途:设置进度条所在视图的宽度
- 视图宽度须大于或等于进度条实际宽度,否则超出部分无法正常显示
- 若未通过 SetValidWidth 单独设置进度条实际宽度,则进度条宽度自动跟随视图宽度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 视图宽度值 | ≥ 进度条实际宽度 |
SetHeight
void SetHeight(int16_t height) override
功能说明
- 核心用途:设置进度条所在视图的高度
- 视图高度须大于或等于进度条实际高度,否则超出部分无法正常显示
- 若未通过 SetValidHeight 单独设置进度条实际高度,则进度条高度自动跟随视图高度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 视图高度值 | ≥ 进度条实际高度 |
SetDirection
void SetDirection(const Direction& direction)
功能说明
- 核心用途:设置进度条的填充方向
- 默认方向为从左到右(DIR_LEFT_TO_RIGHT)
- 入参为只读引用,不修改传入的方向对象
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| direction | const Direction& | 进度条方向,入参只读引用,不修改所指对象 | Direction 枚举值 |
GetDirection
Direction GetDirection() const
功能说明
- 核心用途:获取进度条当前的填充方向
- 该函数为 const 成员函数,不修改对象状态
- 返回值与 SetDirection 所设方向一致
返回值
- 返回类型:
Direction
返回进度条填充方向
| 返回值 | 触发场景 |
|---|---|
| DIR_LEFT_TO_RIGHT(0) | 从左到右填充 |
| DIR_RIGHT_TO_LEFT(1) | 从右到左填充 |
| DIR_TOP_TO_BOTTOM(2) | 从上到下填充 |
| DIR_BOTTOM_TO_TOP(3) | 从下到上填充 |
SetValidWidth
void SetValidWidth(int16_t width)
功能说明
- 核心用途:设置进度条的实际宽度
- 设置后进度条在视图中居中显示,默认进度条宽度与视图宽度相同
- 若进度条宽度大于视图宽度,超出部分无法显示
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 进度条实际宽度值 | ≤ 视图宽度 |
GetValidWidth
int16_t GetValidWidth() const
功能说明
- 核心用途:获取进度条的实际宽度
- 该函数为 const 成员函数,不修改对象状态
- 返回值与 SetValidWidth 所设宽度一致
返回值
- 返回类型:
int16_t
返回进度条实际宽度
| 返回值 | 触发场景 |
|---|---|
| ≥ 0 | 正常返回进度条实际宽度值 |
SetValidHeight
void SetValidHeight(int16_t height)
功能说明
- 核心用途:设置进度条的实际高度
- 设置后进度条在视图中居中显示,默认进度条高度与视图高度相同
- 若进度条高度大于视图高度,超出部分无法显示
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 进度条实际高度值 | ≤ 视图高度 |
GetValidHeight
int16_t GetValidHeight() const
功能说明
- 核心用途:获取进度条的实际高度
- 该函数为 const 成员函数,不修改对象状态
- 返回值与 SetValidHeight 所设高度一致
返回值
- 返回类型:
int16_t
返回进度条实际高度
| 返回值 | 触发场景 |
|---|---|
| ≥ 0 | 正常返回进度条实际高度值 |
OnDraw
void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override
功能说明
- 核心用途:绘制线性进度条到指定图形缓冲区
- 入参 gfxDstBuffer 为引用传递,由调用方提供图形目标缓冲区
- 入参 invalidatedArea 为只读引用,指定需要重绘的无效区域
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 图形目标缓冲区,入参引用,写入 | 非空,已申请有效内存 |
| invalidatedArea | const Rect& | 需要重绘的无效区域,入参只读引用,不修改所指对象 | 有效矩形区域 |
Enumerations
UIBoxProgress::Direction
enum class Direction : uint8_t {
DIR_LEFT_TO_RIGHT = 0,
DIR_RIGHT_TO_LEFT = 1,
DIR_TOP_TO_BOTTOM = 2,
DIR_BOTTOM_TO_TOP = 3,
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| DIR_LEFT_TO_RIGHT | 0 | 从左到右填充 |
| DIR_RIGHT_TO_LEFT | 1 | 从右到左填充 |
| DIR_TOP_TO_BOTTOM | 2 | 从上到下填充 |
| DIR_BOTTOM_TO_TOP | 3 | 从下到上填充 |