ui_axis
ui_axis 模块提供坐标轴组件,包含通用坐标轴基类及X轴、Y轴专用组件,用于图表坐标显示。
Class Summary
OHOS::UIAxis
坐标轴基类,定义坐标轴基本属性,配合 UIChart 使用
- 构造:无
-
成员函数:
接口名称 功能简述 GetViewType 获取视图类型 SetDataRange 设置坐标轴数据范围 SetMarkNum 设置坐标轴刻度数量 EnableReverse 设置是否启用坐标轴反转 GetEnableReverse 获取坐标轴反转状态 GetStartPoint 获取坐标轴起始点 GetEndPoint 获取坐标轴终止点 SetMarkInterval 设置刻度间隔 GetMarkInterval 获取刻度间隔 SetLineColor 设置坐标轴线颜色 OnDraw 绘制坐标轴 OnPreDraw 预绘制回调 UpdateAxis 更新坐标轴 TranslateToPixel 将数据值转换为像素坐标 UpdateAxisPoints 更新坐标轴端点 -
使用包含头文件:
#include "components/ui_axis.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_axis.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:无
- 模板形参:无
OHOS::UIXAxis
X 轴类,定义 X 轴特有属性与功能,配合 UIChart 使用
- 构造:无
-
成员函数:
接口名称 功能简述 UpdateAxis 更新 X 轴 TranslateToPixel 将数据值转换为 X 轴像素坐标 SetDataRange 设置 X 轴数据范围 SetMarkNum 设置 X 轴刻度数量 GetMarkNum 获取 X 轴刻度数量 UpdateAxisPoints 更新 X 轴端点 -
使用包含头文件:
#include "components/ui_axis.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_axis.h - 公有运算符:无
- 继承关系:UIAxis
- 嵌套类型:无
- 模板形参:无
OHOS::UIYAxis
Y 轴类,定义 Y 轴特有属性与功能,配合 UIChart 使用
- 构造:无
-
成员函数:
接口名称 功能简述 UpdateAxis 更新 Y 轴 TranslateToPixel 将数据值转换为 Y 轴像素坐标 SetDataRange 设置 Y 轴数据范围 SetMarkNum 设置 Y 轴刻度数量 GetMarkNum 获取 Y 轴刻度数量 UpdateAxisPoints 更新 Y 轴端点 SetAxisAlign 设置 Y 轴对齐方式 -
使用包含头文件:
#include "components/ui_axis.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_axis.h - 公有运算符:无
- 继承关系:UIAxis
- 嵌套类型:AxisAlign
- 模板形参:无
Functions
OHOS::UIAxis
GetViewType
virtual UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前视图的类型标识
- 返回值为 UI_AXIS,标识该视图为坐标轴类型
- 此函数为 const 成员函数,不修改对象状态
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_AXIS | 当前视图为坐标轴类型 |
SetDataRange
virtual bool SetDataRange(uint16_t min, uint16_t max) = 0
功能说明
- 核心用途:设置坐标轴的数据范围,限定坐标轴显示的最小值与最大值
- 最大值必须大于最小值,否则设置失败
- 此函数为纯虚函数,由子类实现具体逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| min | uint16_t | 数据范围最小值 | 0 ~ 65535 |
| max | uint16_t | 数据范围最大值 | 0 ~ 65535,且必须大于 min |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true | 设置成功 |
| false | 设置失败(max 不大于 min) |
SetMarkNum
virtual void SetMarkNum(uint16_t count) = 0
功能说明
- 核心用途:设置坐标轴上的刻度数量
- 柱状图中,刻度数量须与柱子数量一致,确保每根柱子位于两刻度之间
- 此函数为纯虚函数,由子类实现具体逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| count | uint16_t | 刻度数量 | 0 ~ 65535,默认值为 5 |
EnableReverse
void EnableReverse(bool enable)
功能说明
- 核心用途:设置是否启用坐标轴反转显示
- 启用后坐标轴方向反转,即数据从大到小排列
- 此函数为非 const 成员函数,会修改对象内部状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否启用反转 | true:启用反转;false:不启用反转 |
GetEnableReverse
bool GetEnableReverse() const
功能说明
- 核心用途:获取当前坐标轴是否启用反转显示
- 此函数为 const 成员函数,不修改对象状态
- 返回值为内部 enableReverse_ 成员的状态
返回值
- 返回类型:
bool
返回反转状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用反转 |
| false | 未启用反转 |
GetStartPoint
const Point& GetStartPoint() const
功能说明
- 核心用途:获取坐标轴起始点坐标
- 返回值为 const 引用,不修改对象状态
- 起始点由 UpdateAxisPoints 更新
返回值
- 返回类型:
const Point&
返回坐标轴起始点坐标引用
| 返回值 | 触发场景 |
|---|---|
| start_ | 坐标轴起始点的 const 引用 |
GetEndPoint
const Point& GetEndPoint() const
功能说明
- 核心用途:获取坐标轴终止点坐标
- 返回值为 const 引用,不修改对象状态
- 终止点由 UpdateAxisPoints 更新
返回值
- 返回类型:
const Point&
返回坐标轴终止点坐标引用
| 返回值 | 触发场景 |
|---|---|
| end_ | 坐标轴终止点的 const 引用 |
SetMarkInterval
void SetMarkInterval(float Interval)
功能说明
- 核心用途:设置坐标轴刻度间隔
- 此函数为非 const 成员函数,会修改对象内部状态
- 间隔值影响坐标轴上刻度线之间的距离
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| Interval | float | 刻度间隔值 | 正浮点数 |
GetMarkInterval
float GetMarkInterval() const
功能说明
- 核心用途:获取当前坐标轴刻度间隔
- 此函数为 const 成员函数,不修改对象状态
- 返回值为内部 markInterval_ 成员的当前值
返回值
- 返回类型:
float
返回刻度间隔值
| 返回值 | 触发场景 |
|---|---|
| markInterval_ | 当前刻度间隔值 |
SetLineColor
void SetLineColor(const ColorType& color)
功能说明
- 核心用途:设置坐标轴线的颜色
- 入参为 ColorType 的 const 引用,不修改传入的颜色对象
- 设置后将在下次绘制时生效
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| color | const ColorType& | 入参只读引用,坐标轴线颜色 | ColorType 有效值 |
OnDraw
void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override
功能说明
- 核心用途:绘制坐标轴到目标缓冲区
- 重写父类 UIViewGroup 的 OnDraw 方法
- 此函数为非 const 成员函数,会修改渲染状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 入参引用,目标图形缓冲区 | 非 nullptr |
| invalidatedArea | const Rect& | 入参只读引用,需要重绘的区域 | 有效的 Rect 区域 |
OnPreDraw
bool OnPreDraw(Rect& invalidatedArea) const override
功能说明
- 核心用途:预绘制回调,判断是否需要在主绘制前执行操作
- 此函数固定返回 false,表示不需要预绘制处理
- 此函数为 const 成员函数,不修改对象状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| invalidatedArea | Rect& | 入参引用,需要重绘的区域 | 有效的 Rect 区域 |
返回值
- 返回类型:
bool
返回是否需要预绘制
| 返回值 | 触发场景 |
|---|---|
| false | 坐标轴不需要预绘制处理 |
UpdateAxis
virtual bool UpdateAxis() = 0
功能说明
- 核心用途:更新坐标轴的布局与数据
- 此函数为纯虚函数,由子类实现具体更新逻辑
- 调用后将根据最新数据范围和刻度设置重新计算坐标轴
返回值
- 返回类型:
bool
返回更新结果
| 返回值 | 触发场景 |
|---|---|
| true | 更新成功 |
| false | 更新失败 |
TranslateToPixel
virtual void TranslateToPixel(int16_t& value) = 0
功能说明
- 核心用途:将数据值转换为像素坐标,基于坐标轴数据范围计算相对位置
- 入参 value 既是输入(原始数据值)也是输出(转换后的像素坐标)
- 此函数为纯虚函数,由子类实现具体转换逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | int16_t& | 入参引用,输入数据值,输出转换后的像素坐标 | int16_t 取值范围 |
UpdateAxisPoints
virtual void UpdateAxisPoints() = 0
功能说明
- 核心用途:更新坐标轴端点位置
- 此函数为纯虚函数,由子类实现具体端点计算逻辑
- 调用后将重新计算坐标轴起始点和终止点坐标
OHOS::UIXAxis
UpdateAxis
bool UpdateAxis() override
功能说明
- 核心用途:更新 X 轴的布局与数据
- 重写父类 UIAxis 的纯虚函数,实现 X 轴特有更新逻辑
- 调用后将根据最新数据范围和刻度设置重新计算 X 轴
返回值
- 返回类型:
bool
返回更新结果
| 返回值 | 触发场景 |
|---|---|
| true | 更新成功 |
| false | 更新失败 |
TranslateToPixel
void TranslateToPixel(int16_t& value) override
功能说明
- 核心用途:将数据值转换为 X 轴像素坐标,基于 X 轴数据范围计算相对位置
- 入参 value 既是输入(原始数据值)也是输出(转换后的 X 轴像素坐标)
- 重写父类 UIAxis 的纯虚函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | int16_t& | 入参引用,输入数据值,输出转换后的 X 轴像素坐标 | int16_t 取值范围 |
SetDataRange
bool SetDataRange(uint16_t min, uint16_t max) override
功能说明
- 核心用途:设置 X 轴的数据范围,限定 X 轴显示的最小值与最大值
- 最大值必须大于最小值,否则设置失败
- 重写父类 UIAxis 的纯虚函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| min | uint16_t | 数据范围最小值 | 0 ~ 65535 |
| max | uint16_t | 数据范围最大值 | 0 ~ 65535,且必须大于 min |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true | 设置成功 |
| false | 设置失败(max 不大于 min) |
SetMarkNum
void SetMarkNum(uint16_t count) override
功能说明
- 核心用途:设置 X 轴上的刻度数量
- 柱状图中,刻度数量须与柱子数量一致
- 重写父类 UIAxis 的纯虚函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| count | uint16_t | 刻度数量 | 0 ~ 65535,默认值为 5 |
GetMarkNum
uint16_t GetMarkNum() const
功能说明
- 核心用途:获取 X 轴当前的刻度数量
- 此函数为 const 成员函数,不修改对象状态
- 返回值为内部 markDataCount_ 成员的当前值
返回值
- 返回类型:
uint16_t
返回刻度数量
| 返回值 | 触发场景 |
|---|---|
| markDataCount_ | 当前 X 轴刻度数量 |
UpdateAxisPoints
void UpdateAxisPoints() override
功能说明
- 核心用途:更新 X 轴端点位置
- 重写父类 UIAxis 的纯虚函数,实现 X 轴特有端点计算逻辑
- 调用后将重新计算 X 轴起始点和终止点坐标
OHOS::UIYAxis
UpdateAxis
bool UpdateAxis() override
功能说明
- 核心用途:更新 Y 轴的布局与数据
- 重写父类 UIAxis 的纯虚函数,实现 Y 轴特有更新逻辑
- 调用后将根据最新数据范围和刻度设置重新计算 Y 轴
返回值
- 返回类型:
bool
返回更新结果
| 返回值 | 触发场景 |
|---|---|
| true | 更新成功 |
| false | 更新失败 |
TranslateToPixel
void TranslateToPixel(int16_t& value) override
功能说明
- 核心用途:将数据值转换为 Y 轴像素坐标,基于 Y 轴数据范围计算相对位置
- 入参 value 既是输入(原始数据值)也是输出(转换后的 Y 轴像素坐标)
- 重写父类 UIAxis 的纯虚函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | int16_t& | 入参引用,输入数据值,输出转换后的 Y 轴像素坐标 | int16_t 取值范围 |
SetDataRange
bool SetDataRange(uint16_t min, uint16_t max) override
功能说明
- 核心用途:设置 Y 轴的数据范围,限定 Y 轴显示的最小值与最大值
- 最大值必须大于最小值,否则设置失败
- 重写父类 UIAxis 的纯虚函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| min | uint16_t | 数据范围最小值 | 0 ~ 65535 |
| max | uint16_t | 数据范围最大值 | 0 ~ 65535,且必须大于 min |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true | 设置成功 |
| false | 设置失败(max 不大于 min) |
SetMarkNum
void SetMarkNum(uint16_t count) override
功能说明
- 核心用途:设置 Y 轴上的刻度数量
- 重写父类 UIAxis 的纯虚函数
- 默认刻度数量为 5
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| count | uint16_t | 刻度数量 | 0 ~ 65535,默认值为 5 |
GetMarkNum
uint16_t GetMarkNum() const
功能说明
- 核心用途:获取 Y 轴当前的刻度数量
- 此函数为 const 成员函数,不修改对象状态
- 返回值为内部 markDataCount_ 成员的当前值
返回值
- 返回类型:
uint16_t
返回刻度数量
| 返回值 | 触发场景 |
|---|---|
| markDataCount_ | 当前 Y 轴刻度数量 |
UpdateAxisPoints
void UpdateAxisPoints() override
功能说明
- 核心用途:更新 Y 轴端点位置
- 重写父类 UIAxis 的纯虚函数,实现 Y 轴特有端点计算逻辑
- 调用后将重新计算 Y 轴起始点和终止点坐标
SetAxisAlign
void SetAxisAlign(AxisAlign axisAlign)
功能说明
- 核心用途:设置 Y 轴在图表中的水平对齐方式
- 设置后自动调用 UpdateAxisPoints 更新端点位置
- 此函数为非 const 成员函数,会修改对象内部状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| axisAlign | AxisAlign | 入参,Y 轴对齐方式 | AxisAlign 枚举值 |
Enumerations
UIYAxis::AxisAlign
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ALIGN_LEFT | 0 | Y 轴左对齐 |
| ALIGN_RIGHT | 1 | Y 轴右对齐 |