ui_view
ui_view 模块提供视图基类,定义所有UI视图的基础属性与操作,包括布局、绘制、事件、焦点与变换等。
Class Summary
OHOS::UIView
视图基类,提供基础视图属性与操作,所有视图均派生自该类
- 构造:
explicit UIView(const char* id) -
成员函数:
-
使用包含头文件:
#include "components/ui_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_view.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:OnClickListener、OnLongPressListener、OnDragListener、OnTouchListener、OnRotateListener(条件编译 ENABLE_ROTATE_INPUT)、OnFocusListener(条件编译 ENABLE_FOCUS_MANAGER)、ViewExtraMsg
- 模板形参:无
Functions
OHOS::UIView
UIView
explicit UIView(const char* id)
功能说明
- 带参数构造函数,根据指定的视图ID创建UIView实例
- 构造时先调用默认构造函数完成基础初始化,再将id_成员设置为传入的ID
- 视图ID可用于后续通过GetChildById等方法在视图树中查找该视图
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 视图ID字符串指针 | 非空字符串指针 |
OnPreDraw
virtual bool OnPreDraw(Rect& invalidatedArea) const
功能说明
- 在视图绘制前调用,用于判断失效区域是否被当前视图完全覆盖
- 如果完全覆盖则返回true,绘制引擎可跳过被遮挡的下层视图绘制以优化性能
- 如果部分覆盖,函数会将invalidatedArea修改为实际被覆盖的区域
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| invalidatedArea | Rect& | 待判断的失效区域,部分覆盖时返回实际覆盖区域 | 有效的Rect引用 |
返回值
- 返回类型:
bool
返回失效区域覆盖判断结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 失效区域被当前视图完全覆盖 |
| false(0) | 失效区域未被完全覆盖 |
OnDraw
virtual void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)
功能说明
- 视图绘制回调,在视图需要重绘时由绘制引擎调用
- 子类应重写此方法实现自定义绘制逻辑
- 绘制范围限制在invalidatedArea指定的失效区域内
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 图形目标缓冲区,绘制内容将输出到此缓冲区 | 有效的BufferInfo引用 |
| invalidatedArea | const Rect& | 需要绘制的失效区域 | 有效的Rect引用 |
OnPostDraw
virtual void OnPostDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)
功能说明
- 视图绘制后回调,在OnDraw执行完毕后由绘制引擎调用
- 可用于在视图内容绘制完成后叠加额外效果(如前景装饰)
- 子类可重写此方法实现后绘制逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 图形目标缓冲区 | 有效的BufferInfo引用 |
| invalidatedArea | const Rect& | 绘制失效区域 | 有效的Rect引用 |
ReMeasure
virtual void ReMeasure()
功能说明
- 重新测量视图尺寸,在视图尺寸需要更新时调用
- 子类可重写此方法实现自定义测量逻辑
- 默认实现为空函数,基类不做额外处理
Invalidate
void Invalidate()
功能说明
- 刷新视图的整个失效区域,标记视图需要重绘
- 调用后绘制引擎会在下一帧重绘该视图
- 适用于视图内容发生变化的场景
InvalidateRect
void InvalidateRect(const Rect& invalidatedArea, UIView* view = nullptr)
功能说明
- 刷新指定失效区域,仅标记指定矩形区域需要重绘
- 相比Invalidate()更精细,可减少不必要的重绘范围以提升性能
- 可选参数view指定关联视图,默认为nullptr表示当前视图自身
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| invalidatedArea | const Rect& | 需要刷新的失效区域 | 有效的Rect引用 |
| view | UIView* | 关联的视图指针,默认nullptr | UIView指针或nullptr |
OnLongPressEvent
virtual bool OnLongPressEvent(const LongPressEvent& event)
功能说明
- 长按事件回调,当视图被长按时触发
- 若事件被消费则不再向父视图传递,否则在本地处理完成后传递给父视图
- 子类可重写此方法实现自定义长按响应逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const LongPressEvent& | 长按事件对象 | 有效的LongPressEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 长按事件被消费 |
| false | 长按事件未被消费 |
OnDragStartEvent
virtual bool OnDragStartEvent(const DragEvent& event)
功能说明
- 拖拽开始事件回调,当视图开始被拖拽时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现拖拽开始的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件对象 | 有效的DragEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 拖拽开始事件被消费 |
| false | 拖拽开始事件未被消费 |
OnDragEvent
virtual bool OnDragEvent(const DragEvent& event)
功能说明
- 拖拽中事件回调,当视图正在被拖拽时持续触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现拖拽过程中的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件对象 | 有效的DragEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 拖拽事件被消费 |
| false | 拖拽事件未被消费 |
OnDragEndEvent
virtual bool OnDragEndEvent(const DragEvent& event)
功能说明
- 拖拽结束事件回调,当视图停止拖拽时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现拖拽结束的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件对象 | 有效的DragEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 拖拽结束事件被消费 |
| false | 拖拽结束事件未被消费 |
OnClickEvent
virtual bool OnClickEvent(const ClickEvent& event)
功能说明
- 点击事件回调,当视图被点击时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现自定义点击响应逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const ClickEvent& | 点击事件对象 | 有效的ClickEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 点击事件被消费 |
| false | 点击事件未被消费 |
OnPressEvent
virtual bool OnPressEvent(const PressEvent& event)
功能说明
- 按下事件回调,当视图被按下时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现按下状态的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const PressEvent& | 按下事件对象 | 有效的PressEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 按下事件被消费 |
| false | 按下事件未被消费 |
OnReleaseEvent
virtual bool OnReleaseEvent(const ReleaseEvent& event)
功能说明
- 释放事件回调,当视图被释放时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现释放状态的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const ReleaseEvent& | 释放事件对象 | 有效的ReleaseEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 释放事件被消费 |
| false | 释放事件未被消费 |
OnCancelEvent
virtual bool OnCancelEvent(const CancelEvent& event)
功能说明
- 取消事件回调,当视图上的点击事件被取消时触发
- 若事件被消费则不再向父视图传递
- 子类可重写此方法实现事件取消的自定义处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const CancelEvent& | 取消事件对象 | 有效的CancelEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 取消事件被消费 |
| false | 取消事件未被消费 |
SetOnDragListener
void SetOnDragListener(OnDragListener* onDragListener)
功能说明
- 设置拖拽事件监听器,用于监听视图的拖拽相关事件
- 设置后当拖拽事件发生时将回调监听器中的对应方法
- 传入nullptr可取消已设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onDragListener | OnDragListener* | 拖拽事件监听器指针 | OnDragListener指针或nullptr |
GetOnDragListener
OnDragListener*& GetOnDragListener()
功能说明
- 获取已设置的拖拽事件监听器
- 返回引用可允许直接修改监听器指针
- 未设置时返回值为nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| OnDragListener*& | 已设置的拖拽事件监听器引用,未设置时为nullptr |
SetOnClickListener
void SetOnClickListener(OnClickListener* onClickListener)
功能说明
- 设置点击事件监听器,用于监听视图的点击事件
- 设置后当点击事件发生时将回调监听器中的OnClick方法
- 传入nullptr可取消已设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onClickListener | OnClickListener* | 点击事件监听器指针 | OnClickListener指针或nullptr |
GetOnClickListener
OnClickListener*& GetOnClickListener()
功能说明
- 获取已设置的点击事件监听器
- 返回引用可允许直接修改监听器指针
- 未设置时返回值为nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| OnClickListener*& | 已设置的点击事件监听器引用,未设置时为nullptr |
SetOnLongPressListener
void SetOnLongPressListener(OnLongPressListener* onLongPressListener)
功能说明
- 设置长按事件监听器,用于监听视图的长按事件
- 设置后当长按事件发生时将回调监听器中的OnLongPress方法
- 传入nullptr可取消已设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onLongPressListener | OnLongPressListener* | 长按事件监听器指针 | OnLongPressListener指针或nullptr |
GetOnLongPressListener
OnLongPressListener*& GetOnLongPressListener()
功能说明
- 获取已设置的长按事件监听器
- 返回引用可允许直接修改监听器指针
- 未设置时返回值为nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| OnLongPressListener*& | 已设置的长按事件监听器引用,未设置时为nullptr |
SetOnTouchListener
void SetOnTouchListener(OnTouchListener* onTouchListener)
功能说明
- 设置触摸事件监听器,用于监听视图的触摸相关事件(按下、释放、取消)
- 设置后当对应触摸事件发生时将回调监听器中的方法
- 传入nullptr可取消已设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onTouchListener | OnTouchListener* | 触摸事件监听器指针 | OnTouchListener指针或nullptr |
GetTouchListener
OnTouchListener*& GetTouchListener()
功能说明
- 获取已设置的触摸事件监听器
- 返回引用可允许直接修改监听器指针
- 未设置时返回值为nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| OnTouchListener*& | 已设置的触摸事件监听器引用,未设置时为nullptr |
GetTargetView
virtual void GetTargetView(const Point& point, UIView** last)
功能说明
- 根据指定坐标获取包含该坐标的最顶层目标视图
- 通过双指针参数返回查找到的视图
- 用于事件分发时确定触摸事件的目标视图
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| point | const Point& | 指定坐标点 | 有效的Point引用 |
| last | UIView** | 输出参数,返回包含指定坐标的视图双指针 | 非空UIView双指针 |
GetTargetView
virtual void GetTargetView(const Point& point, UIView** current, UIView** target)
功能说明
- 根据指定坐标同时获取当前视图和目标视图
- 当前视图为包含指定坐标且可见、可响应触摸事件的最顶层视图
- 目标视图为包含指定坐标的最顶层视图
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| point | const Point& | 指定坐标点 | 有效的Point引用 |
| current | UIView** | 输出参数,返回当前视图双指针 | 非空UIView双指针 |
| target | UIView** | 输出参数,返回目标视图双指针 | 非空UIView双指针 |
SetParent
void SetParent(UIView* parent)
功能说明
- 设置当前视图的父视图
- 建立视图树中的父子层级关系
- 通常由容器视图在添加子视图时内部调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| parent | UIView* | 父视图指针 | UIView指针或nullptr |
GetParent
UIView* GetParent() const
功能说明
- 获取当前视图的父视图
- 用于遍历视图树或获取父视图信息
- 无父视图时返回nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| UIView* | 父视图指针,无父视图时为nullptr |
SetNextSibling
void SetNextSibling(UIView* sibling)
功能说明
- 设置当前视图的下一个兄弟视图
- 建立同一层级视图的链表关系
- 通常由容器视图内部调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| sibling | UIView* | 下一个兄弟视图指针 | UIView指针或nullptr |
GetNextSibling
UIView* GetNextSibling() const
功能说明
- 获取当前视图的下一个兄弟视图
- 用于遍历同一父视图下的兄弟视图链表
- 无下一个兄弟视图时返回nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| UIView* | 下一个兄弟视图指针,无兄弟视图时为nullptr |
SetVisible
virtual void SetVisible(bool visible)
功能说明
- 设置视图是否可见,不可见的视图不会被绘制
- 视图不可见时仍存在于视图树中,只是不参与绘制和事件响应
- 子类可重写此方法添加额外的可见性处理逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| visible | bool | 是否可见,true为可见,false为不可见 | true/false |
IsVisible
bool IsVisible() const
功能说明
- 查询视图是否可见
- 仅反映当前视图自身的可见性,不包含父视图的可见性
- 即使当前视图可见,若父视图不可见则该视图实际不会显示
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图可见 |
| false | 视图不可见 |
SetTouchable
void SetTouchable(bool touch)
功能说明
- 设置视图是否可触摸,不可触摸的视图不响应触摸事件
- 触摸事件将穿透不可触摸的视图传递给下层
- 默认情况下视图可触摸
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| touch | bool | 是否可触摸,true为可触摸,false为不可触摸 | true/false |
IsTouchable
bool IsTouchable() const
功能说明
- 查询视图是否可触摸
- 仅反映当前视图自身的可触摸属性
- 不可触摸的视图不参与触摸事件分发
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图可触摸 |
| false | 视图不可触摸 |
SetDraggable
void SetDraggable(bool draggable)
功能说明
- 设置视图是否可拖拽
- 可拖拽的视图能响应拖拽开始、拖拽中、拖拽结束事件
- 默认情况下视图不可拖拽
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| draggable | bool | 是否可拖拽,true为可拖拽,false为不可拖拽 | true/false |
IsDraggable
bool IsDraggable() const
功能说明
- 查询视图是否可拖拽
- 仅反映当前视图自身的可拖拽属性
- 不可拖拽的视图不会触发拖拽相关事件
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图可拖拽 |
| false | 视图不可拖拽 |
SetDragParentInstead
void SetDragParentInstead(bool dragParentInstead)
功能说明
- 设置当视图被拖拽时,是否将拖拽事件转交父视图处理
- 为true时当前视图不处理拖拽事件,由父视图代为处理
- 适用于子视图不需要独立拖拽逻辑的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dragParentInstead | bool | 是否转交父视图,true为转交,false为不转交 | true/false |
IsDragParentInstead
bool IsDragParentInstead() const
功能说明
- 查询拖拽事件是否转交父视图处理
- 为true时拖拽事件由父视图代为处理
- 默认情况下不转交父视图
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 拖拽事件转交父视图处理 |
| false | 拖拽事件由当前视图自行处理 |
SetFullScreenBlur
void SetFullScreenBlur(bool isFull)
功能说明
- 设置视图是否使用全屏模糊效果
- 为true时模糊效果作用于全屏范围而非仅视图自身区域
- 适用于需要全局模糊背景的弹窗或覆盖层场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isFull | bool | 是否全屏模糊,true为全屏模糊,false为仅视图区域 | true/false |
IsFullScreenBlur
bool IsFullScreenBlur() const
功能说明
- 查询视图是否设置为全屏模糊
- 为true时模糊范围覆盖全屏
- 默认情况下不使用全屏模糊
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图使用全屏模糊 |
| false | 视图不使用全屏模糊 |
GetRect
Rect GetRect() const
功能说明
- 获取视图的绝对矩形区域
- 当视图存在旋转变形时,返回绝对矩形区域与变形矩阵的交集
- 绝对坐标是相对于屏幕原点的坐标
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图的绝对矩形区域 |
GetVisibleRect
Rect GetVisibleRect() const
功能说明
- 获取视图的可见绝对矩形区域
- 可见区域为视图实际能显示在屏幕上的区域
- 考虑了父视图裁剪等影响后的实际可见范围
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图的可见绝对矩形区域 |
GetMaskedRect
Rect GetMaskedRect() const
功能说明
- 获取视图的有效绝对矩形区域
- 有效区域指视图能正常显示的区域,通常与可见区域相同
- 在网格布局等场景中,有效区域可能与可见区域不同
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图的有效绝对矩形区域 |
GetOrigRect
Rect GetOrigRect() const
功能说明
- 获取视图的原始绝对矩形区域
- 不考虑变形变换,返回视图原始的矩形区域
- 用于需要获取未变换区域信息的场景
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图的原始绝对矩形区域 |
GetContentRect
virtual Rect GetContentRect()
功能说明
- 获取视图内容的绝对矩形区域,该区域不包含padding
- 内容区域是视图实际绘制内容的区域
- 子类可重写此方法返回自定义内容区域
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图内容绝对矩形区域 |
GetOrigContentRect
virtual Rect GetOrigContentRect()
功能说明
- 获取视图原始内容绝对矩形区域,不包含padding
- 不考虑变形变换,返回原始内容矩形区域
- 用于需要获取未变换内容区域信息的场景
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图原始内容绝对矩形区域 |
GetRelativeRect
Rect GetRelativeRect() const
功能说明
- 获取视图相对于父视图的矩形区域
- 坐标原点为父视图的左上角
- 用于布局计算中获取视图在父视图内的相对位置
返回值
| 返回值 | 触发场景 |
|---|---|
| Rect | 视图相对于父视图的矩形区域 |
ResizeVisibleArea
void ResizeVisibleArea(int16_t x, int16_t y, int16_t width, int16_t height)
功能说明
- 调整视图可见区域的大小
- 可能影响视图的最终显示尺寸
- 用于自定义可见区域的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 新的x坐标 | 整数值 |
| y | int16_t | 新的y坐标 | 整数值 |
| width | int16_t | 新的宽度 | 正整数 |
| height | int16_t | 新的高度 | 正整数 |
SetWidth
virtual void SetWidth(int16_t width)
功能说明
- 设置视图的宽度
- 设置后视图的实际绘制宽度将更新
- 子类可重写此方法添加宽度变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 视图宽度值 | 正整数 |
SetWidthPercent
virtual void SetWidthPercent(float widthPercent)
功能说明
- 设置视图宽度占父视图宽度的百分比
- 视图实际宽度根据父视图宽度和百分比动态计算
- 适用于需要响应式布局的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| widthPercent | float | 宽度百分比的小数形式 | 0.0~1.0 |
GetWidth
virtual int16_t GetWidth()
功能说明
- 获取视图的宽度
- 返回视图的像素宽度值
- 子类可重写此方法返回自定义宽度
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 视图宽度值 |
SetHeight
virtual void SetHeight(int16_t height)
功能说明
- 设置视图的高度
- 设置后视图的实际绘制高度将更新
- 子类可重写此方法添加高度变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 视图高度值 | 正整数 |
SetHeightPercent
virtual void SetHeightPercent(float heightPercent)
功能说明
- 设置视图高度占父视图高度的百分比
- 视图实际高度根据父视图高度和百分比动态计算
- 适用于需要响应式布局的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| heightPercent | float | 高度百分比的小数形式 | 0.0~1.0 |
GetHeight
virtual int16_t GetHeight()
功能说明
- 获取视图的高度
- 返回视图的像素高度值
- 子类可重写此方法返回自定义高度
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 视图高度值 |
Resize
virtual void Resize(int16_t width, int16_t height)
功能说明
- 同时调整视图的宽度和高度
- 等效于分别调用SetWidth和SetHeight,但仅触发一次重绘
- 子类可重写此方法添加尺寸变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 新的宽度 | 正整数 |
| height | int16_t | 新的高度 | 正整数 |
ResizePercent
virtual void ResizePercent(float widthPercent, float heightPercent)
功能说明
- 按百分比同时调整视图的宽度和高度
- 宽度百分比为视图宽度占父视图宽度的比例
- 高度百分比为视图高度占父视图高度的比例
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| widthPercent | float | 宽度百分比的小数形式 | 0.0~1.0 |
| heightPercent | float | 高度百分比的小数形式 | 0.0~1.0 |
SetX
virtual void SetX(int16_t x)
功能说明
- 设置视图的x坐标
- 坐标为相对于父视图的偏移量
- 子类可重写此方法添加坐标变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 视图x坐标值 | 整数值 |
SetXPercent
virtual void SetXPercent(float xPercent)
功能说明
- 设置视图x坐标占父视图宽度的百分比
- 视图实际x坐标根据父视图宽度和百分比动态计算
- 适用于需要响应式布局的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| xPercent | float | x坐标百分比的小数形式 | 0.0~1.0 |
GetX
int16_t GetX() const
功能说明
- 获取视图的x坐标
- 返回相对于父视图的x偏移量
- 不含margin的坐标值
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 视图x坐标值 |
SetY
virtual void SetY(int16_t y)
功能说明
- 设置视图的y坐标
- 坐标为相对于父视图的偏移量
- 子类可重写此方法添加坐标变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| y | int16_t | 视图y坐标值 | 整数值 |
SetYPercent
virtual void SetYPercent(float yPercent)
功能说明
- 设置视图y坐标占父视图高度的百分比
- 视图实际y坐标根据父视图高度和百分比动态计算
- 适用于需要响应式布局的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| yPercent | float | y坐标百分比的小数形式 | 0.0~1.0 |
GetY
int16_t GetY() const
功能说明
- 获取视图的y坐标
- 返回相对于父视图的y偏移量
- 不含margin的坐标值
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 视图y坐标值 |
GetWidthWithMargin
int16_t GetWidthWithMargin()
功能说明
- 获取包含margin的视图宽度
- 宽度 = 视图宽度 + marginLeft + marginRight
- 用于布局计算中需要考虑margin的场景
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 包含margin的宽度值 |
GetHeightWithMargin
int16_t GetHeightWithMargin()
功能说明
- 获取包含margin的视图高度
- 高度 = 视图高度 + marginTop + marginBottom
- 用于布局计算中需要考虑margin的场景
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 包含margin的高度值 |
SetPosition
virtual void SetPosition(int16_t x, int16_t y)
功能说明
- 设置视图的位置,同时设置x和y坐标
- 等效于分别调用SetX和SetY,但仅触发一次重绘
- 子类可重写此方法添加位置变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 视图x坐标值 | 整数值 |
| y | int16_t | 视图y坐标值 | 整数值 |
SetPositionPercent
virtual void SetPositionPercent(float xPercent, float yPercent)
功能说明
- 按百分比设置视图的位置
- xPercent为视图x坐标占父视图宽度的百分比
- yPercent为视图y坐标占父视图高度的百分比
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| xPercent | float | x坐标百分比的小数形式 | 0.0~1.0 |
| yPercent | float | y坐标百分比的小数形式 | 0.0~1.0 |
SetPosition
virtual void SetPosition(int16_t x, int16_t y, int16_t width, int16_t height)
功能说明
- 同时设置视图的位置和大小
- 等效于同时调用SetX、SetY、SetWidth、SetHeight,但仅触发一次重绘
- 子类可重写此方法添加位置和尺寸变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 视图x坐标值 | 整数值 |
| y | int16_t | 视图y坐标值 | 整数值 |
| width | int16_t | 视图宽度 | 正整数 |
| height | int16_t | 视图高度 | 正整数 |
SetPositionPercent
virtual void SetPositionPercent(float xPercent, float yPercent, float widthPercent, float heightPercent)
功能说明
- 按百分比同时设置视图的位置和大小
- 所有参数均为相对于父视图的百分比小数形式
- 适用于需要响应式布局的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| xPercent | float | x坐标百分比 | 0.0~1.0 |
| yPercent | float | y坐标百分比 | 0.0~1.0 |
| widthPercent | float | 宽度百分比 | 0.0~1.0 |
| heightPercent | float | 高度百分比 | 0.0~1.0 |
IsViewGroup
bool IsViewGroup() const
功能说明
- 查询视图是否为容器视图(ViewGroup)
- 容器视图可以包含子视图,非容器视图不能包含子视图
- 该属性在容器视图构造时被设置
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图为容器视图 |
| false | 视图不是容器视图 |
SetIntercept
void SetIntercept(bool isIntercept)
功能说明
- 设置是否拦截输入事件
- 拦截后视图不在本地处理完成后将输入事件传递给父视图
- 适用于需要阻止事件冒泡的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isIntercept | bool | 是否拦截,true为拦截,false为不拦截 | true/false |
IsIntercept
bool IsIntercept()
功能说明
- 查询是否拦截输入事件
- 拦截时视图不将输入事件传递给父视图
- 默认不拦截
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 拦截输入事件 |
| false | 不拦截输入事件 |
SetTransformMap
void SetTransformMap(const TransformMap& transMap)
功能说明
- 设置视图的仿射变换矩阵
- 变换矩阵用于实现旋转、缩放、平移等变换效果
- 设置新的变换矩阵后视图将按新矩阵进行变换
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| transMap | const TransformMap& | 仿射变换矩阵 | 有效的TransformMap引用 |
GetTransformMap
TransformMap& GetTransformMap()
功能说明
- 获取视图的仿射变换矩阵
- 返回引用可允许直接修改变换矩阵
- 未设置变换时返回默认的恒等变换矩阵
返回值
| 返回值 | 触发场景 |
|---|---|
| TransformMap& | 仿射变换矩阵引用 |
GetChildById
virtual UIView* GetChildById(const char* id) const
功能说明
- 根据视图ID获取子视图
- 在当前视图的子视图中查找指定ID的视图
- 非容器视图默认返回nullptr
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 子视图ID | 非空字符串指针 |
返回值
| 返回值 | 触发场景 |
|---|---|
| UIView* | 子视图指针,未找到时为nullptr |
SetViewId
void SetViewId(const char* id)
功能说明
- 设置视图ID
- 视图ID用于在视图树中唯一标识和查找视图
- ID为字符串指针,外部需保证ID字符串的生命周期
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 视图ID字符串指针 | 字符串指针 |
GetViewId
const char* GetViewId() const
功能说明
- 获取视图ID
- 返回视图ID的字符串指针
- 未设置ID时返回nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| const char* | 视图ID字符串指针,未设置时为nullptr |
SetViewIndex
void SetViewIndex(int16_t index)
功能说明
- 设置视图索引
- 索引用于标识视图在父容器中的顺序
- 通常由容器视图在添加子视图时内部设置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | int16_t | 视图索引值 | int16_t范围 |
GetViewIndex
int16_t GetViewIndex() const
功能说明
- 获取视图索引
- 返回视图在父容器中的顺序索引
- 未设置时为默认值
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 视图索引值 |
GetViewType
virtual UIViewType GetViewType() const
功能说明
- 获取视图类型
- 返回UIViewType枚举值,标识视图的具体类型
- 子类必须重写此方法返回正确的视图类型
返回值
| 返回值 | 触发场景 |
|---|---|
| UIViewType | 视图类型枚举值 |
LayoutChildren
virtual void LayoutChildren(bool neeInvalidate = false)
功能说明
- 按预设排列模式布局所有子视图
- 仅容器视图需要重写此方法
- neeInvalidate为true时布局完成后刷新失效区域
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| neeInvalidate | bool | 布局完成后是否刷新失效区域,默认false | true/false |
LayoutCenterOfParent
void LayoutCenterOfParent(int16_t xOffSet = 0, int16_t yOffset = 0)
功能说明
- 将视图布局在父视图的中心位置
- 可通过偏移参数在中心位置基础上进行微调
- 正xOffset向右偏移,正yOffset向下偏移
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| xOffSet | int16_t | x轴偏移量,默认0,正值向右,负值向左 | 整数值 |
| yOffset | int16_t | y轴偏移量,默认0,正值向下,负值向上 | 整数值 |
LayoutLeftOfParent
void LayoutLeftOfParent(int16_t offset = 0)
功能说明
- 将视图布局在父视图的左侧
- 正offset向右偏移,负offset向左偏移
- 视图左边缘与父视图左边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| offset | int16_t | x轴偏移量,默认0,正值向右,负值向左 | 整数值 |
LayoutRightOfParent
void LayoutRightOfParent(int16_t offset = 0)
功能说明
- 将视图布局在父视图的右侧
- 正offset向左偏移,负offset向右偏移
- 视图右边缘与父视图右边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| offset | int16_t | x轴偏移量,默认0,正值向左,负值向右 | 整数值 |
LayoutTopOfParent
void LayoutTopOfParent(int16_t offset = 0)
功能说明
- 将视图布局在父视图的上方
- 正offset向下偏移,负offset向上偏移
- 视图上边缘与父视图上边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| offset | int16_t | y轴偏移量,默认0,正值向下,负值向上 | 整数值 |
LayoutBottomOfParent
void LayoutBottomOfParent(int16_t offset = 0)
功能说明
- 将视图布局在父视图的下方
- 正offset向上偏移,负offset向下偏移
- 视图下边缘与父视图下边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| offset | int16_t | y轴偏移量,默认0,正值向上,负值向下 | 整数值 |
AlignLeftToSibling
void AlignLeftToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图左对齐
- 正offset向右偏移,负offset向左偏移
- 视图左边缘与兄弟视图左边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | x轴偏移量,默认0 | 整数值 |
AlignRightToSibling
void AlignRightToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图右对齐
- 正offset向左偏移,负offset向右偏移
- 视图右边缘与兄弟视图右边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | x轴偏移量,默认0 | 整数值 |
AlignTopToSibling
void AlignTopToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图顶部对齐
- 正offset向下偏移,负offset向上偏移
- 视图上边缘与兄弟视图上边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | y轴偏移量,默认0 | 整数值 |
AlignBottomToSibling
void AlignBottomToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图底部对齐
- 正offset向上偏移,负offset向下偏移
- 视图下边缘与兄弟视图下边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | y轴偏移量,默认0 | 整数值 |
AlignHorCenterToSibling
void AlignHorCenterToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图水平居中对齐
- 正offset向右偏移,负offset向左偏移
- 视图水平中心与兄弟视图水平中心对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | x轴偏移量,默认0 | 整数值 |
AlignVerCenterToSibling
void AlignVerCenterToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图与指定ID的兄弟视图垂直居中对齐
- 正offset向下偏移,负offset向上偏移
- 视图垂直中心与兄弟视图垂直中心对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | y轴偏移量,默认0 | 整数值 |
AlignToReference
void AlignToReference(AlignmentType alignType, UIView* referView, int16_t ofsX = 0, int16_t ofsY = 0)
功能说明
- 将视图与参考视图按指定的对齐类型进行对齐
- 支持多种对齐方式,由alignType参数指定
- 可通过偏移参数在对齐位置基础上进行微调
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| alignType | AlignmentType | 对齐类型 | AlignmentType枚举值 |
| referView | UIView* | 参考视图指针 | 非空UIView指针 |
| ofsX | int16_t | x轴偏移量,默认0 | 整数值 |
| ofsY | int16_t | y轴偏移量,默认0 | 整数值 |
UpdatePos
void UpdatePos()
功能说明
- 更新子视图位置,在父视图尺寸发生变化时调用
- 根据当前对齐类型重新计算子视图位置
- 确保子视图在父视图尺寸变化后仍保持正确的对齐关系
LayoutLeftToSibling
void LayoutLeftToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图布局在指定ID的兄弟视图左侧
- 正offset向左偏移,负offset向右偏移
- 视图右边缘与兄弟视图左边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | x轴偏移量,默认0,正值向左,负值向右 | 整数值 |
LayoutRightToSibling
void LayoutRightToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图布局在指定ID的兄弟视图右侧
- 正offset向右偏移,负offset向左偏移
- 视图左边缘与兄弟视图右边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | x轴偏移量,默认0,正值向右,负值向左 | 整数值 |
LayoutTopToSibling
void LayoutTopToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图布局在指定ID的兄弟视图上方
- 正offset向上偏移,负offset向下偏移
- 视图下边缘与兄弟视图上边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | y轴偏移量,默认0,正值向上,负值向下 | 整数值 |
LayoutBottomToSibling
void LayoutBottomToSibling(const char* id, int16_t offset = 0)
功能说明
- 将视图布局在指定ID的兄弟视图下方
- 正offset向下偏移,负offset向上偏移
- 视图上边缘与兄弟视图下边缘对齐(加上偏移量)
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| id | const char* | 兄弟视图ID | 非空字符串指针 |
| offset | int16_t | y轴偏移量,默认0,正值向下,负值向上 | 整数值 |
SetStyle
virtual void SetStyle(Style& style)
功能说明
- 设置视图的完整样式对象
- 替换当前视图的所有样式属性
- 子类可重写此方法添加样式变更的额外处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| style | Style& | 视图样式对象引用 | 有效的Style引用 |
SetStyle
virtual void SetStyle(uint8_t key, int64_t value)
功能说明
- 设置单个样式属性值
- 通过key指定样式属性类型,value设置对应值
- 子类可重写此方法添加特定样式属性的处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| key | uint8_t | 样式属性键值 | 有效的StyleKey枚举值 |
| value | int64_t | 样式属性值 | 与key对应的取值范围 |
GetStyle
virtual int64_t GetStyle(uint8_t key) const
功能说明
- 获取指定样式属性的值
- 通过key指定要查询的样式属性类型
- 子类可重写此方法添加特定样式属性的获取逻辑
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| key | uint8_t | 样式属性键值 | 有效的StyleKey枚举值 |
返回值
| 返回值 | 触发场景 |
|---|---|
| int64_t | 样式属性值 |
GetStyleConst
const Style& GetStyleConst() const
功能说明
- 获取视图样式的常量引用
- 适用于不需要修改样式的场景,可节省内存
- 返回的引用不允许修改样式内容
返回值
| 返回值 | 触发场景 |
|---|---|
| const Style& | 视图样式的常量引用 |
SetOpaScale
void SetOpaScale(uint8_t opaScale)
功能说明
- 设置视图的透明度
- 透明度值影响视图的整体绘制透明效果
- 值为0时完全透明,值为255时完全不透明
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| opaScale | uint8_t | 透明度值 | 0~255 |
GetOpaScale
uint8_t GetOpaScale() const
功能说明
- 获取视图的透明度
- 返回当前设置的透明度值
- 默认值为255(完全不透明)
返回值
| 返回值 | 触发场景 |
|---|---|
| uint8_t | 视图透明度值,0~255 |
GetExtraMsg
ViewExtraMsg* GetExtraMsg()
功能说明
- 获取视图的附加信息
- 附加信息由图形框架之外的逻辑设置和使用
- 未设置时返回nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| ViewExtraMsg* | 附加信息指针,未设置时为nullptr |
SetExtraMsg
void SetExtraMsg(ViewExtraMsg* extraMsg)
功能说明
- 设置视图的附加信息
- 附加信息由图形框架之外的逻辑设置,框架本身不使用此字段
- 可存储任意与视图关联的自定义数据
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| extraMsg | ViewExtraMsg* | 附加信息指针 | ViewExtraMsg指针或nullptr |
Rotate
void Rotate(int16_t angle, const Vector2<float>& pivot)
功能说明
- 2D旋转视图
- 围绕指定枢轴点旋转指定角度
- 旋转后视图的矩形区域将发生变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| angle | int16_t | 旋转角度 | 整数值 |
| pivot | const Vector2 |
旋转枢轴点坐标 | 有效的Vector2引用 |
Rotate
void Rotate(int16_t angle, const Vector3<float>& pivotStart, const Vector3<float>& pivotEnd)
功能说明
- 3D旋转视图
- 通过起始和结束枢轴点定义旋转轴
- 适用于3D变换效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| angle | int16_t | 旋转角度 | 整数值 |
| pivotStart | const Vector3 |
旋转起始枢轴点 | 有效的Vector3引用 |
| pivotEnd | const Vector3 |
旋转结束枢轴点 | 有效的Vector3引用 |
Scale
virtual void Scale(const Vector2<float>& scale, const Vector2<float>& pivot)
功能说明
- 2D缩放视图
- 通过x和y方向的缩放因子进行缩放
- 围绕指定枢轴点进行缩放
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| scale | const Vector2 |
x和y方向的缩放因子 | 浮点数 |
| pivot | const Vector2 |
缩放枢轴点坐标 | 有效的Vector2引用 |
Scale
virtual void Scale(const Vector3<float>& scale, const Vector3<float>& pivot)
功能说明
- 3D缩放视图
- 通过x、y和z方向的缩放因子进行缩放
- 围绕指定3D枢轴点进行缩放
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| scale | const Vector3 |
x、y、z方向的缩放因子 | 浮点数 |
| pivot | const Vector3 |
缩放枢轴点坐标 | 有效的Vector3引用 |
Shear
void Shear(const Vector2<float>& shearX, const Vector2<float>& shearY, const Vector2<float>& shearZ)
功能说明
- 对视图进行3D剪切变换
- shearX控制y和z方向的剪切(z方向当前无效)
- shearY控制x和z方向的剪切(z方向当前无效),shearZ控制x和y方向的剪切
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| shearX | const Vector2 |
x轴剪切参数 | 浮点数 |
| shearY | const Vector2 |
y轴剪切参数 | 浮点数 |
| shearZ | const Vector2 |
z轴剪切参数 | 浮点数 |
Translate
void Translate(const Vector2<int16_t>& trans)
功能说明
- 2D平移视图
- 通过x和y方向的偏移量进行平移
- 平移改变视图的绘制位置但不改变其逻辑位置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| trans | const Vector2 |
x和y方向的平移量 | 整数值 |
Translate
void Translate(const Vector3<int16_t>& trans)
功能说明
- 3D平移视图
- 通过x、y和z方向的偏移量进行平移
- 适用于3D变换场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| trans | const Vector3 |
x、y、z方向的平移量 | 整数值 |
IsTransInvalid
bool IsTransInvalid()
功能说明
- 查询视图的变换参数是否无效
- 变换参数无效时需要重新计算变换矩阵
- 用于判断是否需要更新变换
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 变换参数无效,需要重新计算 |
| false | 变换参数有效 |
SetCameraDistance
void SetCameraDistance(int16_t distance)
功能说明
- 设置3D变换中相机的距离
- 相机距离影响3D透视效果的强度
- 距离越大透视效果越弱,距离越小透视效果越强
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| distance | int16_t | 相机距离值 | 正整数 |
SetCameraPosition
void SetCameraPosition(const Vector2<float>& position)
功能说明
- 设置3D变换中相机的位置
- 相机位置影响3D变换的视角
- 用于自定义3D变换的观察角度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| position | const Vector2 |
相机位置坐标 | 浮点数 |
ResetTransParameter
void ResetTransParameter()
功能说明
- 重置所有变换参数
- 清除旋转、缩放、平移、剪切等变换设置
- 重置后视图恢复到未变换状态
SetBackgroundBlur
void SetBackgroundBlur(float radius, uint32_t quality = 0)
功能说明
- 设置背景模糊效果
- radius控制模糊半径,值越大模糊效果越强
- quality控制模糊质量,默认为0
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| radius | float | 模糊半径 | 正浮点数 |
| quality | uint32_t | 模糊质量,默认0 | 非负整数 |
ClearBackgroundBlur
void ClearBackgroundBlur()
功能说明
- 清除背景模糊效果
- 调用后视图不再应用背景模糊
- 同时清除相关的模糊参数设置
SetBlurPath
void SetBlurPath(uint32_t cmdNum, const uint8_t* cmd, uint32_t dataNum, const float* data)
功能说明
- 按指定路径设置模糊效果
- 通过路径命令和数据定义模糊区域形状
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_GAUSSIAN_BLUR_BY_MASK宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_GAUSSIAN_BLUR_BY_MASK
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| cmdNum | uint32_t | 路径命令数量 | 正整数 |
| cmd | const uint8_t* | 路径命令数组指针 | 非空指针 |
| dataNum | uint32_t | 路径数据数量 | 正整数 |
| data | const float* | 路径数据数组指针 | 非空指针 |
ClearBlurPath
void ClearBlurPath()
功能说明
- 清除模糊路径设置
- 调用后模糊效果不再按路径形状应用
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_GAUSSIAN_BLUR_BY_MASK宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_GAUSSIAN_BLUR_BY_MASK
RequestFocus
virtual void RequestFocus()
功能说明
- 请求视图获得焦点
- 调用后视图将成为焦点视图
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
ClearFocus
virtual void ClearFocus()
功能说明
- 清除视图的焦点状态
- 调用后视图失去焦点
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
SetFocusable
virtual void SetFocusable(bool focusable)
功能说明
- 设置视图是否可获焦
- 可获焦的视图能够响应焦点相关的操作
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| focusable | bool | 是否可获焦,true为可获焦,false为不可获焦 | true/false |
IsFocusable
virtual bool IsFocusable() const
功能说明
- 查询视图是否可获焦
- 可获焦的视图能参与焦点管理
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图可获焦 |
| false | 视图不可获焦 |
Focus
virtual void Focus()
功能说明
- 视图获焦时的响应回调
- 当视图获得焦点时由焦点管理器调用
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
Blur
virtual void Blur()
功能说明
- 视图失焦时的响应回调
- 当视图失去焦点时由焦点管理器调用
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
SetOnFocusListener
virtual void SetOnFocusListener(OnFocusListener* onFocusListener)
功能说明
- 设置焦点改变事件监听器
- 当视图获焦或失焦时将回调监听器中的对应方法
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onFocusListener | OnFocusListener* | 焦点改变事件监听器指针 | OnFocusListener指针或nullptr |
GetOnFocusListener
virtual OnFocusListener* GetOnFocusListener() const
功能说明
- 获取焦点改变事件监听器
- 返回当前设置的焦点改变事件监听器
- 仅在ENABLE_FOCUS_MANAGER宏开启时可用
Kconfig配置
ENABLE_FOCUS_MANAGER
返回值
| 返回值 | 触发场景 |
|---|---|
| OnFocusListener* | 焦点改变事件监听器指针,未设置时为nullptr |
OnRotateStartEvent
virtual bool OnRotateStartEvent(const RotateEvent& event)
功能说明
- 旋转开始事件回调,当视图开始旋转时触发
- 若事件被消费则不再向父视图传递
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const RotateEvent& | 旋转事件对象 | 有效的RotateEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 旋转开始事件被消费 |
| false | 旋转开始事件未被消费 |
OnRotateEvent
virtual bool OnRotateEvent(const RotateEvent& event)
功能说明
- 旋转事件回调,当视图正在旋转时持续触发
- 若事件被消费则不再向父视图传递
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const RotateEvent& | 旋转事件对象 | 有效的RotateEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 旋转事件被消费 |
| false | 旋转事件未被消费 |
OnRotateEndEvent
virtual bool OnRotateEndEvent(const RotateEvent& event)
功能说明
- 旋转结束事件回调,当视图停止旋转时触发
- 若事件被消费则不再向父视图传递
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const RotateEvent& | 旋转事件对象 | 有效的RotateEvent引用 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 旋转结束事件被消费 |
| false | 旋转结束事件未被消费 |
SetOnRotateListener
virtual void SetOnRotateListener(OnRotateListener* onRotateListener)
功能说明
- 设置旋转事件监听器,用于监听视图的旋转相关事件
- 设置后当旋转事件发生时将回调监听器中的对应方法
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onRotateListener | OnRotateListener* | 旋转事件监听器指针 | OnRotateListener指针或nullptr |
GetOnRotateListener
virtual OnRotateListener*& GetOnRotateListener()
功能说明
- 获取旋转事件监听器
- 返回引用可允许直接修改监听器指针
- 仅在ENABLE_ROTATE_INPUT宏开启时可用
Kconfig配置
ENABLE_ROTATE_INPUT
返回值
| 返回值 | 触发场景 |
|---|---|
| OnRotateListener*& | 旋转事件监听器引用,未设置时为nullptr |
GetBitmap
virtual bool GetBitmap(ImageInfo& bitmap, ColorMode colorMode = RGB888)
功能说明
- 获取视图的位图截图
- 截图将存储到bitmap参数中,该接口会申请内存
- 使用完毕后需调用ImageCacheFree()接口释放内存
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| bitmap | ImageInfo& | 位图存储对象引用 | 有效的ImageInfo引用 |
| colorMode | ColorMode | 截图格式,默认为RGB888 | ColorMode枚举值 |
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 位图获取成功 |
| false | 位图获取失败 |
IsOnViewTree
bool IsOnViewTree()
功能说明
- 查询视图是否在视图树上
- 在视图树上表示视图已被添加到RootView的视图层级中
- 不在视图树上的视图不会被绘制和响应事件
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图在视图树上 |
| false | 视图不在视图树上 |
SetZIndex
void SetZIndex(int16_t zIndex)
功能说明
- 设置视图的z轴层级
- zIndex值越大,视图在渲染时越靠前(显示在上层)
- 默认zIndex为0
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| zIndex | int16_t | z轴层级值 | int16_t范围 |
GetZIndex
int16_t GetZIndex()
功能说明
- 获取视图的z轴层级
- 返回当前设置的zIndex值
- 默认值为0
返回值
| 返回值 | 触发场景 |
|---|---|
| int16_t | z轴层级值 |
SetNextRenderSibling
void SetNextRenderSibling(UIView* renderSibling)
功能说明
- 设置下一个渲染兄弟视图
- 渲染兄弟视图用于控制视图的渲染顺序
- 通常由框架内部调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| renderSibling | UIView* | 下一个渲染兄弟视图指针 | UIView指针或nullptr |
GetNextRenderSibling
UIView* GetNextRenderSibling() const
功能说明
- 获取下一个渲染兄弟视图
- 返回当前视图在渲染链中的下一个视图
- 无下一个渲染兄弟视图时返回nullptr
返回值
| 返回值 | 触发场景 |
|---|---|
| UIView* | 下一个渲染兄弟视图指针,无时为nullptr |
HandleGaussianBlur
void HandleGaussianBlur(BufferInfo& gfxDstBuffer)
功能说明
- 对背景执行高斯模糊处理
- 当视图设置了模糊半径时调用此方法应用模糊效果
- 模糊效果作用于gfxDstBuffer指定的缓冲区
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 需要执行模糊的图形缓冲区 | 有效的BufferInfo引用 |
HandleLighting
void HandleLighting(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)
功能说明
- 对视图执行光照效果处理
- 仅内部使用,由绘制引擎在渲染时调用
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 需要进行光照处理的缓冲区 | 有效的BufferInfo引用 |
| invalidatedArea | const Rect& | 失效区域 | 有效的Rect引用 |
SetSpeLightStyle
void SetSpeLightStyle(const LightSpeStyle& speLightStyle)
功能说明
- 设置反射光照参数
- 目前反射光效果仅支持圆形或扇形区域
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| speLightStyle | const LightSpeStyle& | 反射光配置参数 | 有效的LightSpeStyle引用 |
GetSpeLightStyle
LightSpeStyle GetSpeLightStyle()
功能说明
- 获取反射光照参数
- 返回当前设置的反射光配置参数
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
返回值
| 返回值 | 触发场景 |
|---|---|
| LightSpeStyle | 反射光照参数 |
SetAmbLightStyle
void SetAmbLightStyle(float ambAmp)
功能说明
- 设置环境基础光照值
- 可调节控件所在矩形区域的亮度
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ambAmp | float | 环境基础光照值 | 浮点数 |
GetAmbLightStyle
float GetAmbLightStyle()
功能说明
- 获取环境基础光照值
- 返回当前设置的环境基础光照值
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
返回值
| 返回值 | 触发场景 |
|---|---|
| float | 环境基础光照值 |
EnableLight
void EnableLight(bool enable)
功能说明
- 使能或禁用控件的光照设置
- 使能后光照效果将应用于视图
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否使能光照,true为使能,false为禁用 | true/false |
IsEnableLight
bool IsEnableLight()
功能说明
- 查询光照设置是否使能
- 使能后光照效果将应用于视图
- 仅在ENABLE_VGU_ENGINE和CAPABILITY_HW_LIGHT宏开启时可用
Kconfig配置
ENABLE_VGU_ENGINE && CAPABILITY_HW_LIGHT
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 光照设置已使能 |
| false | 光照设置未使能 |
IsVideoContained
bool IsVideoContained()
功能说明
- 查询视图是否为视频视图或包含视频视图
- 用于判断视图层级中是否存在需要特殊处理的视频视图
- 视频视图通常需要特殊的渲染和刷新策略
返回值
| 返回值 | 触发场景 |
|---|---|
| true | 视图为视频视图或包含视频视图 |
| false | 视图不是视频视图且不包含视频视图 |
DumpImgInfoRecursive
void DumpImgInfoRecursive()
功能说明
- 递归输出当前视图及其所有子视图的图片信息
- 用于调试和诊断图片资源使用情况
- 遍历整个视图树输出所有图片相关信息
DumpImgInfo
virtual void DumpImgInfo()
功能说明
- 输出当前视图的图片信息
- 用于调试和诊断图片资源使用情况
- 子类可重写此方法输出特定图片信息,默认实现为空
GetGuiInfo
virtual std::string GetGuiInfo() const
功能说明
- 获取视图的GUI调试信息
- 返回包含视图基本属性的字符串
- 用于调试和诊断视图状态
返回值
| 返回值 | 触发场景 |
|---|---|
| std::string | GUI调试信息字符串 |
SetPositionInner
void SetPositionInner(int16_t x, int16_t y)
功能说明
- 内部设置视图位置,含margin偏移
- 仅在x或y坐标实际变化时才更新
- 设置的坐标会加上对应的margin值后作为实际位置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 视图x坐标值 | 整数值 |
| y | int16_t | 视图y坐标值 | 整数值 |
DisableAlignType
void DisableAlignType()
功能说明
- 禁用对齐类型
- 禁用后视图不再根据对齐类型自动调整位置
- 适用于需要手动控制视图位置的场景
EnableAlignType
void EnableAlignType()
功能说明
- 启用对齐类型
- 启用后视图将根据对齐类型自动调整位置
- 与DisableAlignType配合使用
Enumerations
UIViewType
视图类型枚举,用于标识各类视图组件的类型。
enum UIViewType : uint8_t {
UI_ROOT_VIEW = 0,
UI_VIEW_GROUP = 1,
UI_LABEL = 2,
UI_ARC_LABEL = 3,
UI_LABEL_BUTTON = 4,
UI_CHECK_BOX = 5,
UI_TOGGLE_BUTTON = 6,
UI_RADIO_BUTTON = 7,
UI_IMAGE_VIEW = 8,
UI_BOX_PROGRESS = 9,
UI_SLIDER = 10,
UI_CIRCLE_PROGRESS = 11,
UI_SCROLL_VIEW = 12,
UI_LIST = 13,
UI_DIGITAL_CLOCK = 14,
UI_ANALOG_CLOCK = 15,
#if ENABLE_SWEEP_CLOCK
UI_SWEEP_CLOCK,
#endif
UI_PICKER = 16,
UI_SWIPE_VIEW = 17,
UI_TIME_PICKER = 18,
UI_ABSTRACT_CLOCK = 19,
UI_ABSTRACT_PROGRESS = 20,
UI_ABSTRACT_SCROLL = 21,
UI_AXIS = 22,
UI_BUTTON = 23,
UI_CANVAS = 24,
UI_CHART = 25,
UI_IMAGE_ANIMATOR_VIEW = 26,
UI_REPEAT_BUTTON = 27,
UI_TEXTURE_MAPPER = 28,
UI_DIALOG = 29,
UI_QRCODE = 30,
UI_LABEL_EXT = 31,
UI_LABEL_BUTTON_EXT = 32,
UI_CANVAS_EXT = 33,
UI_CHART_PILLAR = 34,
UI_CHART_POLYLINE = 35,
UI_X_AXIS = 36,
UI_Y_AXIS = 37,
UI_LITE_SURFACE_VIEW = 38,
LAYOUT = 39,
LIST_LAYOUT = 40,
FLEX_LAYOUT = 41,
GRID_LAYOUT = 42,
UI_EDIT_TEXT = 43,
#if ENABLE_SOFT_KEYBOARD
UI_TEXT_PREVIEW_BOX = 44,
UI_KEYBOARD_BUTTON = 45,
#endif
UI_MENU_ITEM = 46,
UI_CARD_PAGE = 47,
UI_COVER_FLOW = 48,
UI_SLIP_FLOW = 49,
UI_FOLDABLE_VIEW = 50,
UI_CROSS_VIEW = 51,
UI_BARCODE = 52,
UI_MAP_VIEW = 53,
UI_KALEIDOSCOPE_VIEW = 54,
UI_ROLLER_VIEW = 55,
UI_HEXAGONS_LIST = 56,
UI_IMAGE_PICKER = 57,
UI_ICOSAHEDRON_VIEW = 58,
UI_TRANSFORM_GROUP = 59,
UI_TRANSFORM_LIST = 60,
UI_COVER_FLOW_2 = 61,
UI_WATERFALL_LIST = 62,
UI_SPHERE_VIEW = 63,
UI_PARTICLE_VIEW = 64,
UI_PLANET_LIST = 65,
UI_OPTION_BOX = 66,
UI_CARD_CONTAINER = 67,
UI_VIDEO = 68,
UI_LOTT_VIEW = 69,
UI_FLOAT_BOX_VIEW = 70,
UI_CHART_PILLAR_EXT = 71,
UI_CUSTOM_PLANET_LIST = 72,
UI_LIST_EXT = 73,
UI_LIST_NESTED = 74,
UI_SCROLL_VIEW_NESTED = 75,
UI_SWIPE_VIEW_NESTED = 76,
UI_POST_EFFECT_IMAGE_VIEW = 77,
UI_RAIN_VIEW = 78,
UI_3D_VIEW = 79,
UI_3D_MESH = 80,
UI_3D_CYLINDER = 81,
UI_3D_SPHERE = 82,
UI_TRANSFORM_BUTTON = 83,
UI_NUMBER_MAX = 84
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| UI_ROOT_VIEW | 0 | 根视图 |
| UI_VIEW_GROUP | 1 | 视图组 |
| UI_LABEL | 2 | 标签 |
| UI_ARC_LABEL | 3 | 弧形标签 |
| UI_LABEL_BUTTON | 4 | 标签按钮 |
| UI_CHECK_BOX | 5 | 复选框 |
| UI_TOGGLE_BUTTON | 6 | 开关按钮 |
| UI_RADIO_BUTTON | 7 | 单选按钮 |
| UI_IMAGE_VIEW | 8 | 图片视图 |
| UI_BOX_PROGRESS | 9 | 条形进度条 |
| UI_SLIDER | 10 | 滑动条 |
| UI_CIRCLE_PROGRESS | 11 | 圆形进度条 |
| UI_SCROLL_VIEW | 12 | 滚动视图 |
| UI_LIST | 13 | 列表 |
| UI_DIGITAL_CLOCK | 14 | 数字时钟 |
| UI_ANALOG_CLOCK | 15 | 模拟时钟 |
| UI_PICKER | 16 | 选择器 |
| UI_SWIPE_VIEW | 17 | 滑动视图 |
| UI_TIME_PICKER | 18 | 时间选择器 |
| UI_ABSTRACT_CLOCK | 19 | 抽象时钟 |
| UI_ABSTRACT_PROGRESS | 20 | 抽象进度条 |
| UI_ABSTRACT_SCROLL | 21 | 抽象滚动 |
| UI_AXIS | 22 | 坐标轴 |
| UI_BUTTON | 23 | 按钮 |
| UI_CANVAS | 24 | 画布 |
| UI_CHART | 25 | 图表 |
| UI_IMAGE_ANIMATOR_VIEW | 26 | 图片动画视图 |
| UI_REPEAT_BUTTON | 27 | 重复按钮 |
| UI_TEXTURE_MAPPER | 28 | 纹理映射 |
| UI_DIALOG | 29 | 对话框 |
| UI_QRCODE | 30 | 二维码 |
| UI_LABEL_EXT | 31 | 扩展标签 |
| UI_LABEL_BUTTON_EXT | 32 | 扩展标签按钮 |
| UI_CANVAS_EXT | 33 | 扩展画布 |
| UI_CHART_PILLAR | 34 | 柱状图 |
| UI_CHART_POLYLINE | 35 | 折线图 |
| UI_X_AXIS | 36 | X轴 |
| UI_Y_AXIS | 37 | Y轴 |
| UI_LITE_SURFACE_VIEW | 38 | 轻量表面视图 |
| LAYOUT | 39 | 布局 |
| LIST_LAYOUT | 40 | 列表布局 |
| FLEX_LAYOUT | 41 | 弹性布局 |
| GRID_LAYOUT | 42 | 网格布局 |
| UI_EDIT_TEXT | 43 | 文本编辑框 |
| UI_MENU_ITEM | 46 | 菜单项 |
| UI_CARD_PAGE | 47 | 卡片页 |
| UI_COVER_FLOW | 48 | 封面流 |
| UI_SLIP_FLOW | 49 | 滑动流 |
| UI_FOLDABLE_VIEW | 50 | 可折叠视图 |
| UI_CROSS_VIEW | 51 | 交叉视图 |
| UI_BARCODE | 52 | 条形码 |
| UI_MAP_VIEW | 53 | 地图视图 |
| UI_KALEIDOSCOPE_VIEW | 54 | 万花筒视图 |
| UI_ROLLER_VIEW | 55 | 滚轮视图 |
| UI_HEXAGONS_LIST | 56 | 六边形列表 |
| UI_IMAGE_PICKER | 57 | 图片选择器 |
| UI_ICOSAHEDRON_VIEW | 58 | 二十面体视图 |
| UI_TRANSFORM_GROUP | 59 | 变换组 |
| UI_TRANSFORM_LIST | 60 | 变换列表 |
| UI_COVER_FLOW_2 | 61 | 封面流2 |
| UI_WATERFALL_LIST | 62 | 瀑布流列表 |
| UI_SPHERE_VIEW | 63 | 球体视图 |
| UI_PARTICLE_VIEW | 64 | 粒子视图 |
| UI_PLANET_LIST | 65 | 行星列表 |
| UI_OPTION_BOX | 66 | 选项框 |
| UI_CARD_CONTAINER | 67 | 卡片容器 |
| UI_VIDEO | 68 | 视频 |
| UI_LOTT_VIEW | 69 | Lottie动画视图 |
| UI_FLOAT_BOX_VIEW | 70 | 浮动框视图 |
| UI_CHART_PILLAR_EXT | 71 | 扩展柱状图 |
| UI_CUSTOM_PLANET_LIST | 72 | 自定义行星列表 |
| UI_LIST_EXT | 73 | 扩展列表 |
| UI_LIST_NESTED | 74 | 嵌套列表 |
| UI_SCROLL_VIEW_NESTED | 75 | 嵌套滚动视图 |
| UI_SWIPE_VIEW_NESTED | 76 | 嵌套滑动视图 |
| UI_POST_EFFECT_IMAGE_VIEW | 77 | 后效图片视图 |
| UI_RAIN_VIEW | 78 | 雨滴视图 |
| UI_3D_VIEW | 79 | 3D视图 |
| UI_3D_MESH | 80 | 3D网格 |
| UI_3D_CYLINDER | 81 | 3D圆柱 |
| UI_3D_SPHERE | 82 | 3D球体 |
| UI_TRANSFORM_BUTTON | 83 | 变换按钮 |
| UI_NUMBER_MAX | 84 | 视图类型最大值 |
Structures
ViewExtraMsg
视图附加信息结构体,用于存储视图的额外自定义数据,图形框架本身不使用此字段。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| elementPtr | void* | 附加信息指针,可指向任意自定义数据 |