跳转至

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 从下到上填充