跳转至

ui_slipflow_view

ui_slipflow_view 模块提供滑动流视图组件,支持卡片式滑动流展示效果。

Class Summary

OHOS::UISlipflowView

滑动流视图组件,支持水平滑动切换子页面、上滑删除及动画效果

Functions

OHOS::UISlipflowView

UISlipflowView

explicit UISlipflowView()

功能说明

  • 核心用途:构造 UISlipflowView 滑动流视图对象
  • 设计目的:初始化滑动流组件的基础状态与内部参数
  • 使用场景:创建滑动流视图实例后,通过 Add 添加子视图并配置滑动参数

Add

void Add(UIView* view) override

功能说明

  • 核心用途:向滑动流视图中添加子视图
  • 设计目的:所有子视图应具有相同的宽度和高度,添加后自动参与滑动布局
  • 使用场景:构建滑动流页面时逐个添加子视图

入参

名称 参数类型 详细说明 约束取值范围
view UIView* 入参指针,指向待添加的子视图 非 nullptr

Remove

void Remove(UIView* view) override

功能说明

  • 核心用途:从滑动流视图中移除指定子视图
  • 设计目的:移除后滑动流自动重新排列剩余子视图
  • 使用场景:动态删除页面或上滑删除场景

入参

名称 参数类型 详细说明 约束取值范围
view UIView* 入参指针,指向待移除的子视图 非 nullptr

GetPageWidth

uint16_t GetPageWidth() const

功能说明

  • 核心用途:获取滑动流页面的宽度
  • 设计目的:页面宽度由子视图宽度决定,用于外部布局计算
  • 使用场景:获取当前页面宽度以进行界面布局或动画计算

返回值

  • 返回类型:uint16_t

返回页面宽度

返回值 触发场景
页面宽度值 子视图宽度

GetPageHeight

uint16_t GetPageHeight() const

功能说明

  • 核心用途:获取滑动流页面的高度
  • 设计目的:页面高度由子视图高度决定,用于外部布局计算
  • 使用场景:获取当前页面高度以进行界面布局或动画计算

返回值

  • 返回类型:uint16_t

返回页面高度

返回值 触发场景
页面高度值 子视图高度

SetCurrentPage

void SetCurrentPage(uint16_t index, bool needAnimator = false)

功能说明

  • 核心用途:设置当前显示页面的索引
  • 设计目的:通过索引切换到指定页面,可选是否启用翻页动画
  • 使用场景:页面跳转、初始化定位到指定页面

入参

名称 参数类型 详细说明 约束取值范围
index uint16_t 目标页面的索引 0 ~ 子视图数量 - 1
needAnimator bool 是否需要翻页动画,默认 false false:无动画;true:启用动画

GetCurrentPage

uint16_t GetCurrentPage() const

功能说明

  • 核心用途:获取当前显示页面的索引
  • 设计目的:返回当前页面在子视图列表中的位置
  • 使用场景:查询当前页面位置、页面切换回调中获取索引

返回值

  • 返回类型:uint16_t

返回当前页面索引

返回值 触发场景
当前页面索引值 当前显示页面的位置

GetCurrentView

UIView* GetCurrentView() const

功能说明

  • 核心用途:获取当前显示的子视图
  • 设计目的:返回当前页面所对应的 UIView 指针,便于外部操作当前页面
  • 使用场景:获取当前页面视图进行属性修改或内容更新

返回值

  • 返回类型:UIView*

返回当前子视图指针

返回值 触发场景
非 nullptr 当前页面存在子视图
nullptr 无子视图

GetViewType

UIViewType GetViewType() const override

功能说明

  • 核心用途:获取组件类型
  • 设计目的:返回 UI_SLIP_FLOW 类型标识,用于类型识别
  • 使用场景:类型判断、组件遍历时区分滑动流视图

返回值

  • 返回类型:UIViewType

返回组件类型

返回值 触发场景
UI_SLIP_FLOW 当前组件为滑动流视图

GetViewByIndex

UIView* GetViewByIndex(uint16_t index)

功能说明

  • 核心用途:根据索引获取子视图
  • 设计目的:通过索引值查找并返回对应的子视图指针
  • 使用场景:根据索引访问特定子视图进行操作

入参

名称 参数类型 详细说明 约束取值范围
index uint16_t 子视图的索引 0 ~ 子视图数量 - 1

返回值

  • 返回类型:UIView*

返回对应索引的子视图指针

返回值 触发场景
非 nullptr 索引合法且对应子视图存在
nullptr 索引越界或子视图不存在

SetAnimatorTime

void SetAnimatorTime(uint16_t time)

功能说明

  • 核心用途:设置页面动画时长(tick 数)
  • 设计目的:动画期间页面将超出空白区域,控制动画播放速度
  • 使用场景:自定义翻页动画速度,默认值为 ANIMATOR_TIME(12)

入参

名称 参数类型 详细说明 约束取值范围
time uint16_t 动画时长,单位为 tick > 0

SetMoveCoefficient

void SetMoveCoefficient(uint16_t coefficient)

功能说明

  • 核心用途:设置当前页面及右侧页面的移动系数
  • 设计目的:当前页面和右侧页面的移动速度为其他页面的 coefficient 倍
  • 使用场景:调整滑动流中不同页面的相对移动速度,实现差异化滑动效果

入参

名称 参数类型 详细说明 约束取值范围
coefficient uint16_t 移动系数,当前及右侧页面速度倍率 > 0

OnDragEvent

bool OnDragEvent(const DragEvent& event) override

功能说明

  • 核心用途:处理拖拽事件,在拖拽过程中切换到指定视图
  • 设计目的:实现拖拽过程中的实时页面跟随与切换
  • 使用场景:用户手指拖拽时触发,控制滑动流的拖拽响应

入参

名称 参数类型 详细说明 约束取值范围
event const DragEvent& 入参只读引用,拖拽事件对象 -

返回值

  • 返回类型:bool

返回事件处理结果

返回值 触发场景
true(1) 事件已处理
false(0) 事件未处理

OnDragStartEvent

bool OnDragStartEvent(const DragEvent& event) override

功能说明

  • 核心用途:处理拖拽开始事件
  • 设计目的:在拖拽开始时初始化滑动状态并切换到指定视图
  • 使用场景:用户手指按下并开始拖拽时触发

入参

名称 参数类型 详细说明 约束取值范围
event const DragEvent& 入参只读引用,拖拽开始事件对象 -

返回值

  • 返回类型:bool

返回事件处理结果

返回值 触发场景
true(1) 事件已处理
false(0) 事件未处理

OnDragEndEvent

bool OnDragEndEvent(const DragEvent& event) override

功能说明

  • 核心用途:处理拖拽结束事件
  • 设计目的:在拖拽结束时完成页面定位与回弹或切换
  • 使用场景:用户手指释放时触发,决定最终停留页面

入参

名称 参数类型 详细说明 约束取值范围
event const DragEvent& 入参只读引用,拖拽结束事件对象 -

返回值

  • 返回类型:bool

返回事件处理结果

返回值 触发场景
true(1) 事件已处理
false(0) 事件未处理

SetOnSlipflowListener

void SetOnSlipflowListener(OnSlipflowScrollListener* onSlipflowListener)

功能说明

  • 核心用途:设置滑动流滚动监听器
  • 设计目的:注册监听器以接收滑动流滚动、上滑删除等回调
  • 使用场景:需要在页面滑动、上滑删除等事件发生时执行自定义逻辑

入参

名称 参数类型 详细说明 约束取值范围
onSlipflowListener OnSlipflowScrollListener* 入参指针,滑动流滚动监听器 可为 nullptr

SetDirection

void SetDirection(uint8_t direction) = delete

功能说明

  • 核心用途:设置方向(已禁用)
  • 设计目的:UISlipflowView 不支持 SetDirection,该方法被删除
  • 使用场景:编译期禁止调用,调用将导致编译错误

入参

名称 参数类型 详细说明 约束取值范围
direction uint8_t 方向值 -

GetDirection

uint8_t GetDirection() const = delete

功能说明

  • 核心用途:获取方向(已禁用)
  • 设计目的:UISlipflowView 不支持 GetDirection,该方法被删除
  • 使用场景:编译期禁止调用,调用将导致编译错误

Structures

TempXoffsetInfo

struct TempXoffsetInfo {
    int16_t tempMasterXoffset;
    int16_t tempSlaveXoffset;
    int16_t tempMasterYoffset;
    int16_t tempSlaveYoffset;
};

成员说明

成员名称 数据类型 描述
tempMasterXoffset int16_t 主视图水平方向临时偏移量
tempSlaveXoffset int16_t 从视图水平方向临时偏移量
tempMasterYoffset int16_t 主视图垂直方向临时偏移量
tempSlaveYoffset int16_t 从视图垂直方向临时偏移量