ui_cross_view
ui_cross_view 模块提供十字交叉视图组件,支持卡片式分页与卡片滑动交互效果。
Class Summary
OHOS::CardSwipe
卡片滑动效果算法基类,提供滑动过程中的视觉效果控制
- 构造:无
-
成员函数:
接口名称 功能简述 CardSwipeAlg 卡片滑动算法(UICardPage 参数重载) CardSwipeAlg 卡片滑动算法(UIImageView 参数重载) StartEffect 启动卡片滑动特效 StopEffect 停止卡片滑动特效 IsStarted 查询滑动特效是否已启动 SetContainer 设置容器视图 EnableClip 启用或禁用圆形裁剪 -
使用包含头文件:
#include "components/card_swipe.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/card_swipe.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
OHOS::UICardPage
与 UICrossView 配合使用的卡片页面视图
- 构造:无
-
成员函数:
接口名称 功能简述 OnActive 页面激活回调 OnInactive 页面非激活回调 PreLoad 预加载资源回调 UnLoad 卸载资源回调 ScrollBegin 滚动开始通知回调 ScrollEnd 滚动结束通知回调 CoverBegin 垂直覆盖开始通知回调 CoverEnd 垂直覆盖结束通知回调 OnCovered 页面被覆盖回调 OnUncovered 页面取消覆盖回调 OnPause 页面暂停回调 SetCoverable 设置页面是否可被覆盖 IsCoverable 查询页面是否可被覆盖 GetViewType 获取视图类型 ClearCache 清除页面图像缓存 -
使用包含头文件:
#include "components/ui_card_page.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/ui_card_page.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:无
- 模板形参:无
OHOS::UICrossView
提供水平和垂直方向拖拽翻页的交叉视图
- 构造:无
-
成员函数:
接口名称 功能简述 GetInstance 获取 UICrossView 单例实例 OnMoveChild 子视图移动回调 OnSwipe 滑动完成回调 OnDragStartEvent 拖拽开始事件处理 OnDragEvent 拖拽中事件处理 OnDragEndEvent 拖拽结束事件处理 RemoveAll 移除所有子视图 SetPosition 设置视图位置和尺寸 Resize 调整视图尺寸 HorAdd 水平方向添加页面 HorInsert 水平方向插入页面 VerAdd 垂直方向添加页面 Remove 移除指定方向的视图 SetHorCurrentPage 设置水平方向当前页索引 SetVerCurrentPage 设置垂直方向当前页索引 GetCurrentPageId 获取指定方向当前页索引 GetCurrentPageView 获取指定方向当前页视图 SetAnimatorTime 设置释放手指后的动画时长 SetLoopState 设置水平方向循环状态 EnableScreenCap 启用或禁用滑动截屏 IsEnableScreenCap 查询截屏是否启用 UpdateHorScreencap 更新水平方向指定卡片截屏 RegisterSwipeCallback 注册滑动效果回调 SetOnSwipeListener 设置滑动动画停止回调 GetViewType 获取视图类型 SetBlurRadius 设置背景模糊半径 SetSwipeACCLevel 设置手指抬起后的补偿距离 -
使用包含头文件:
#include "components/ui_cross_view.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h - 公有运算符:无
- 继承关系:UIViewGroup, UISwipeView::OnSwipeListener, VerSwipeView::OnMoveChildListener
- 嵌套类型:VPage
- 模板形参:无
Functions
OHOS::CardSwipe
CardSwipeAlg
virtual void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
功能说明
- 核心用途:计算卡片滑动过程中左右两张 UICardPage 的视觉效果
- 设计目的:为派生类提供可重写的滑动算法接口,支持自定义滑动特效
- 使用场景:水平拖拽卡片时由 UICrossView 调用,传入左右卡片指针及拖拽偏移量
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| leftCard | UICardPage* | 左侧卡片视图指针,入参指针,不可为 nullptr | 有效的 UICardPage 对象指针 |
| rightCard | UICardPage* | 右侧卡片视图指针,入参指针,不可为 nullptr | 有效的 UICardPage 对象指针 |
| xOffset | int16_t | 拖拽偏移距离 | xOffset > 0 表示从左向右拖拽,xOffset < 0 表示从右向左拖拽 |
CardSwipeAlg
virtual void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
功能说明
- 核心用途:计算卡片滑动过程中左右两张 UIImageView 的视觉效果
- 设计目的:为派生类提供基于 UIImageView 的滑动算法重载接口
- 使用场景:当卡片内容为 UIImageView 类型时由 UICrossView 调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| leftCard | UIImageView* | 左侧图片卡片视图指针,入参指针,不可为 nullptr | 有效的 UIImageView 对象指针 |
| rightCard | UIImageView* | 右侧图片卡片视图指针,入参指针,不可为 nullptr | 有效的 UIImageView 对象指针 |
| xOffset | int16_t | 拖拽偏移距离 | xOffset > 0 表示从左向右拖拽,xOffset < 0 表示从右向左拖拽 |
StartEffect
virtual void StartEffect()
功能说明
- 核心用途:启动卡片滑动特效
- 设计目的:标记特效进入活跃状态,供 IsStarted 查询
- 使用场景:在 CardSwipeAlg 中判定特效未启动时自动调用
StopEffect
virtual void StopEffect()
功能说明
- 核心用途:停止卡片滑动特效
- 设计目的:标记特效退出活跃状态,供 IsStarted 查询
- 使用场景:滑动动画结束时调用以终止特效
IsStarted
bool IsStarted()
功能说明
- 核心用途:查询卡片滑动特效是否已启动
- 设计目的:为调用方提供特效状态查询能力
- 使用场景:CardSwipeAlg 中判断是否需要调用 StartEffect
返回值
- 返回类型:
bool
返回特效启动状态
| 返回值 | 触发场景 |
|---|---|
| true | 特效已启动 |
| false | 特效未启动 |
SetContainer
void SetContainer(UIViewGroup* view)
功能说明
- 核心用途:设置滑动特效所作用的容器视图
- 设计目的:为特效算法提供容器视图引用,便于获取容器属性
- 使用场景:在创建 CardSwipe 后、注册到 UICrossView 前设置容器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIViewGroup* | 容器视图指针,入参指针,通常为 UICrossView 实例 | 有效的 UIViewGroup 对象指针 |
EnableClip
void EnableClip(bool enable)
功能说明
- 核心用途:启用或禁用卡片页面的圆形裁剪效果
- 设计目的:控制滑动过程中是否将卡片裁剪为圆形
- 使用场景:需要在滑动特效中对卡片进行圆形裁剪时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否启用圆形裁剪 | true:启用;false:禁用 |
OHOS::UICardPage
OnActive
virtual void OnActive(void)
功能说明
- 核心用途:页面激活回调,当页面成为当前活跃页面时触发
- 设计目的:为派生类提供页面激活时的资源加载或状态更新入口
- 使用场景:调用 SetHorCurrentPage() 或 Presenter::OnResume() 时触发
OnInactive
virtual void OnInactive(void)
功能说明
- 核心用途:页面非激活回调,当页面从活跃状态切换为非活跃时触发
- 设计目的:为派生类提供页面非激活时的资源释放或状态重置入口
- 使用场景:调用 SetHorCurrentPage() 切换到其他页面时触发
PreLoad
virtual void PreLoad(void)
功能说明
- 核心用途:预加载资源回调
- 设计目的:在页面即将可见前为派生类提供资源预加载入口
- 使用场景:滑动动画结束时或调用 SetHorCurrentPage() 时触发
UnLoad
virtual void UnLoad(void)
功能说明
- 核心用途:卸载资源回调
- 设计目的:在页面即将不可见前为派生类提供资源卸载入口
- 使用场景:滑动动画结束时或调用 SetHorCurrentPage() 时触发
ScrollBegin
virtual void ScrollBegin(bool isActive)
功能说明
- 核心用途:滚动开始通知回调
- 设计目的:为派生类提供滚动开始时的状态更新入口
- 使用场景:水平滚动时当前页及左右页的 ScrollBegin 被调用;垂直滚动时上下页的 ScrollBegin 被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isActive | bool | 当前页面是否为活跃页面 | true:活跃;false:非活跃 |
ScrollEnd
virtual void ScrollEnd(bool isActive)
功能说明
- 核心用途:滚动结束通知回调
- 设计目的:为派生类提供滚动结束时的状态更新入口
- 使用场景:水平滚动结束时当前页及左右页的 ScrollEnd 被调用;垂直滚动结束时上下页的 ScrollEnd 被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isActive | bool | 当前页面是否为活跃页面 | true:活跃;false:非活跃 |
CoverBegin
virtual void CoverBegin(bool isCovered)
功能说明
- 核心用途:垂直覆盖开始通知回调
- 设计目的:为派生类提供垂直方向滚动开始时的覆盖状态通知入口
- 使用场景:垂直滚动开始时水平当前页的 CoverBegin 被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isCovered | bool | 当前页面是否被覆盖 | true:被覆盖;false:未被覆盖 |
CoverEnd
virtual void CoverEnd(bool isCovered)
功能说明
- 核心用途:垂直覆盖结束通知回调
- 设计目的:为派生类提供垂直方向滚动结束时的覆盖状态通知入口
- 使用场景:垂直滚动结束时水平当前页的 CoverEnd 被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| isCovered | bool | 当前页面是否被覆盖 | true:被覆盖;false:未被覆盖 |
OnCovered
virtual void OnCovered(void)
功能说明
- 核心用途:页面被覆盖回调
- 设计目的:为派生类提供页面被垂直方向页面覆盖时的通知入口
- 使用场景:调用 SetVerCurrentPage() 且水平页面被覆盖时触发
OnUncovered
virtual void OnUncovered(void)
功能说明
- 核心用途:页面取消覆盖回调
- 设计目的:为派生类提供页面从垂直方向覆盖中恢复时的通知入口
- 使用场景:调用 SetVerCurrentPage() 且水平页面未被覆盖时触发
OnPause
virtual void OnPause(void)
功能说明
- 核心用途:页面暂停回调
- 设计目的:为派生类提供页面暂停时的资源释放或状态保存入口
- 使用场景:调用 Presenter::OnPause 时触发
SetCoverable
void SetCoverable(bool coverable)
功能说明
- 核心用途:设置页面是否允许被垂直方向页面覆盖
- 设计目的:控制该页面在垂直滚动时是否可被上下页面覆盖
- 使用场景:创建 UICardPage 后、添加到 UICrossView 前设置覆盖属性
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| coverable | bool | 是否允许被覆盖 | true:允许覆盖;false:不允许覆盖 |
IsCoverable
bool IsCoverable(void)
功能说明
- 核心用途:查询页面是否允许被垂直方向页面覆盖
- 设计目的:为调用方提供覆盖属性查询能力
- 使用场景:UICrossView 在垂直滚动时查询当前页面的可覆盖状态
返回值
- 返回类型:
bool
返回可覆盖状态
| 返回值 | 触发场景 |
|---|---|
| true | 页面允许被覆盖 |
| false | 页面不允许被覆盖 |
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取视图类型标识
- 设计目的:返回 UI_CARD_PAGE 类型,用于视图类型区分
- 使用场景:需要判断视图是否为 UICardPage 类型时调用
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_CARD_PAGE | 当前视图为 UICardPage 类型 |
ClearCache
void ClearCache(void)
功能说明
- 核心用途:清除当前页面的图像缓存
- 设计目的:释放页面中缓存的图像资源,减少内存占用
- 使用场景:页面不再需要显示或需要刷新图像内容时调用
OHOS::UICrossView
GetInstance
static UICrossView* GetInstance(void)
功能说明
- 核心用途:获取 UICrossView 的静态单例实例
- 设计目的:提供全局唯一的 UICrossView 实例访问入口
- 使用场景:需要获取交叉视图实例进行页面添加、切换等操作时调用
返回值
- 返回类型:
UICrossView*
返回单例实例指针
| 返回值 | 触发场景 |
|---|---|
| 非空指针 | 返回 UICrossView 单例实例地址 |
OnMoveChild
void OnMoveChild(UISwipeView& view, int16_t xOffset, int16_t yOffset) override
功能说明
- 核心用途:子视图移动回调,处理滑动过程中子视图的偏移
- 设计目的:响应 VerSwipeView 的子视图移动事件,更新卡片位置
- 使用场景:垂直方向滑动过程中由 VerSwipeView 触发
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UISwipeView& | 触发移动的滑动视图引用,入参引用 | 有效的 UISwipeView 对象引用 |
| xOffset | int16_t | 水平偏移量 | 像素偏移值 |
| yOffset | int16_t | 垂直偏移量 | 像素偏移值 |
OnSwipe
void OnSwipe(UISwipeView& view) override
功能说明
- 核心用途:滑动完成回调,处理滑动动画结束后的状态更新
- 设计目的:响应 UISwipeView 的滑动完成事件,更新页面索引和状态
- 使用场景:水平方向滑动动画结束时由 UISwipeView 触发
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UISwipeView& | 触发回调的滑动视图引用,入参引用 | 有效的 UISwipeView 对象引用 |
OnDragStartEvent
bool OnDragStartEvent(const DragEvent& event) override
功能说明
- 核心用途:处理拖拽开始事件
- 设计目的:记录拖拽起始状态,为后续拖拽和结束事件提供基准
- 使用场景:用户手指按下并开始拖拽时由事件分发机制触发
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件引用,入参只读引用 | 有效的 DragEvent 对象引用 |
返回值
- 返回类型:
bool
返回事件是否已被消费
| 返回值 | 触发场景 |
|---|---|
| true | 事件已消费,不再向下传递 |
| false | 事件未消费,继续向下传递 |
OnDragEvent
bool OnDragEvent(const DragEvent& event) override
功能说明
- 核心用途:处理拖拽进行中事件
- 设计目的:在拖拽过程中更新卡片位置和视觉效果
- 使用场景:用户手指在屏幕上持续拖拽时由事件分发机制触发
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件引用,入参只读引用 | 有效的 DragEvent 对象引用 |
返回值
- 返回类型:
bool
返回事件是否已被消费
| 返回值 | 触发场景 |
|---|---|
| true | 事件已消费 |
| false | 事件未消费 |
OnDragEndEvent
bool OnDragEndEvent(const DragEvent& event) override
功能说明
- 核心用途:处理拖拽结束事件
- 设计目的:在拖拽结束后执行页面切换动画和状态更新
- 使用场景:用户手指从屏幕抬起时由事件分发机制触发
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const DragEvent& | 拖拽事件引用,入参只读引用 | 有效的 DragEvent 对象引用 |
返回值
- 返回类型:
bool
返回事件是否已被消费
| 返回值 | 触发场景 |
|---|---|
| true | 事件已消费 |
| false | 事件未消费 |
RemoveAll
void RemoveAll() override
功能说明
- 核心用途:移除所有子视图
- 设计目的:清空水平和垂直方向的所有页面视图
- 使用场景:需要重置 UICrossView 内容或销毁前清理时调用
SetPosition
void SetPosition(int16_t x, int16_t y, int16_t width, int16_t height) override
功能说明
- 核心用途:设置视图的位置和尺寸
- 设计目的:更新 UICrossView 的位置与大小,并同步更新内部子视图布局
- 使用场景:初始化视图或动态调整视图位置和尺寸时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 视图左上角 X 坐标 | 像素值 |
| y | int16_t | 视图左上角 Y 坐标 | 像素值 |
| width | int16_t | 视图宽度 | > 0 |
| height | int16_t | 视图高度 | > 0 |
Resize
void Resize(int16_t width, int16_t height) override
功能说明
- 核心用途:调整视图尺寸
- 设计目的:更新 UICrossView 的宽高,并同步更新内部子视图布局
- 使用场景:需要动态调整视图大小时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 视图宽度 | > 0 |
| height | int16_t | 视图高度 | > 0 |
HorAdd
void HorAdd(UICardPage* view)
功能说明
- 核心用途:水平方向添加卡片页面
- 设计目的:将 UICardPage 添加到水平滑动列表末尾
- 使用场景:构建水平方向的卡片页面列表时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UICardPage* | 待添加的卡片页面指针,入参指针,不可为 nullptr | 有效的 UICardPage 对象指针 |
HorInsert
void HorInsert(UICardPage* prevView, UICardPage* insertView)
功能说明
- 核心用途:水平方向在指定位置插入卡片页面
- 设计目的:将 insertView 插入到 prevView 之后;若 prevView 为 nullptr 则插入为首页
- 使用场景:需要在水平列表的指定位置插入页面时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| prevView | UICardPage* | 前置页面指针,入参指针,可为 nullptr | nullptr 表示插入为首页;非空为有效 UICardPage 指针 |
| insertView | UICardPage* | 待插入的卡片页面指针,入参指针,不可为 nullptr | 有效的 UICardPage 对象指针 |
VerAdd
void VerAdd(UICardPage* view, VPage page)
功能说明
- 核心用途:垂直方向添加卡片页面
- 设计目的:将 UICardPage 添加到垂直方向的上方或下方位置
- 使用场景:构建垂直方向的卡片页面(如下拉通知、上拉菜单)时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UICardPage* | 待添加的卡片页面指针,入参指针,不可为 nullptr | 有效的 UICardPage 对象指针 |
| page | VPage | 垂直方向页面位置 | VPage::UP_PAGE:上方;VPage::DOWN_PAGE:下方 |
Remove
void Remove(UIView* view, uint8_t direction)
功能说明
- 核心用途:移除指定方向的视图
- 设计目的:从水平或垂直方向的页面列表中移除指定视图
- 使用场景:需要动态移除某个页面时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 待移除的视图指针,入参指针 | 有效的 UIView 对象指针 |
| direction | uint8_t | 目标方向 | 0:水平方向;1:垂直方向 |
SetHorCurrentPage
void SetHorCurrentPage(uint16_t index, bool loadAdjacent = true)
功能说明
- 核心用途:设置水平方向当前页索引
- 设计目的:切换水平方向的当前显示页面,并可选择是否加载相邻页面
- 使用场景:程序化切换水平页面时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 目标页面索引 | 0 ~ 水平页面总数 - 1 |
| loadAdjacent | bool | 是否加载相邻页面 | true:加载相邻页面(默认);false:不加载 |
SetVerCurrentPage
void SetVerCurrentPage(uint16_t index)
功能说明
- 核心用途:设置垂直方向当前页索引
- 设计目的:切换垂直方向的当前显示页面
- 使用场景:程序化切换垂直页面时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 目标页面索引 | 0 ~ 垂直页面总数 - 1 |
GetCurrentPageId
uint16_t GetCurrentPageId(uint8_t direction = 0)
功能说明
- 核心用途:获取指定方向的当前页索引
- 设计目的:查询水平或垂直方向的当前活跃页面索引
- 使用场景:需要获取当前页面位置时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| direction | uint8_t | 目标方向 | 0:水平方向(默认);1:垂直方向 |
返回值
- 返回类型:
uint16_t
返回当前页索引
| 返回值 | 触发场景 |
|---|---|
| 页面索引 | 返回指定方向的当前页索引值 |
GetCurrentPageView
UICardPage* GetCurrentPageView(uint8_t direction = 0)
功能说明
- 核心用途:获取指定方向的当前页视图
- 设计目的:查询水平或垂直方向的当前活跃页面的 UICardPage 指针
- 使用场景:需要获取当前页面视图进行操作时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| direction | uint8_t | 目标方向 | 0:水平方向(默认);1:垂直方向 |
返回值
- 返回类型:
UICardPage*
返回当前页视图指针
| 返回值 | 触发场景 |
|---|---|
| 非空指针 | 返回当前页面的 UICardPage 对象指针 |
| nullptr | 无当前页面 |
SetAnimatorTime
void SetAnimatorTime(uint16_t time)
功能说明
- 核心用途:设置释放手指后的滑动动画时长
- 设计目的:控制页面切换动画的持续时间
- 使用场景:需要自定义页面切换动画速度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| time | uint16_t | 动画时长,单位为毫秒 | > 0 |
SetLoopState
void SetLoopState(bool loop)
功能说明
- 核心用途:设置水平方向的循环滑动状态
- 设计目的:启用循环模式后,滑动到末尾页可继续滑到首页
- 使用场景:需要水平方向无限循环翻页时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| loop | bool | 是否启用循环 | true:启用循环;false:禁用循环 |
EnableScreenCap
void EnableScreenCap(bool enable)
功能说明
- 核心用途:启用或禁用滑动过程中的截屏功能
- 设计目的:启用后滑动时使用截屏替代实时绘制,提升滑动流畅度
- 使用场景:对滑动性能有要求且页面内容可截屏缓存时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否启用截屏 | true:启用;false:禁用 |
IsEnableScreenCap
bool IsEnableScreenCap(void)
功能说明
- 核心用途:查询截屏功能是否启用
- 设计目的:为调用方提供截屏状态查询能力
- 使用场景:需要判断当前是否使用截屏模式时调用
返回值
- 返回类型:
bool
返回截屏启用状态
| 返回值 | 触发场景 |
|---|---|
| true | 截屏功能已启用 |
| false | 截屏功能未启用 |
UpdateHorScreencap
bool UpdateHorScreencap(uint16_t index)
功能说明
- 核心用途:更新水平方向指定索引卡片的截屏
- 设计目的:在页面内容变化后刷新指定卡片的截屏缓存
- 使用场景:页面内容更新后需要刷新截屏缓存时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 水平方向卡片索引 | 0 ~ 水平页面总数 - 1 |
返回值
- 返回类型:
bool
返回更新结果
| 返回值 | 触发场景 |
|---|---|
| true | 截屏更新成功 |
| false | 截屏更新失败 |
RegisterSwipeCallback
void RegisterSwipeCallback(CardSwipe* callback)
功能说明
- 核心用途:注册卡片滑动效果回调
- 设计目的:为水平滑动提供自定义的视觉效果算法
- 使用场景:需要自定义卡片滑动视觉效果时注册 CardSwipe 派生类实例
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| callback | CardSwipe* | 滑动效果回调指针,入参指针,可为 nullptr | 有效的 CardSwipe 对象指针或 nullptr(取消注册) |
SetOnSwipeListener
void SetOnSwipeListener(UISwipeView::OnSwipeListener* onSwipeListener)
功能说明
- 核心用途:设置滑动动画停止后的回调监听器
- 设计目的:在滑动动画结束时通知外部调用方
- 使用场景:需要在页面切换动画完成后执行业务逻辑时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onSwipeListener | UISwipeView::OnSwipeListener* | 滑动监听器指针,入参指针,可为 nullptr | 有效的 OnSwipeListener 对象指针或 nullptr(取消监听) |
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取视图类型标识
- 设计目的:返回 UI_CROSS_VIEW 类型,用于视图类型区分
- 使用场景:需要判断视图是否为 UICrossView 类型时调用
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_CROSS_VIEW | 当前视图为 UICrossView 类型 |
SetBlurRadius
void SetBlurRadius(float radius)
功能说明
- 核心用途:设置背景模糊半径
- 设计目的:控制垂直页面覆盖时的背景模糊程度
- 使用场景:需要在垂直滑动时显示背景模糊效果时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| radius | float | 模糊半径 | 0.0f ~ 32.0f,默认值 10.0f |
SetSwipeACCLevel
void SetSwipeACCLevel(uint8_t value, uint8_t direction = 0)
功能说明
- 核心用途:设置手指抬起后的补偿距离
- 设计目的:控制释放手指后页面继续滑动的补偿量,影响翻页灵敏度
- 使用场景:需要调整翻页触发灵敏度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | uint8_t | 补偿距离值 | 0 ~ 255 |
| direction | uint8_t | 目标方向 | 0:水平方向(默认);1:垂直方向 |
Enumerations
UICrossView::VPage
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| UP_PAGE | 0 | 上方页面 |
| DOWN_PAGE | 1 | 下方页面 |