lottie
lottie 模块提供Lottie动画视图组件,支持解析和渲染Lottie JSON动画。
Class Summary
OHOS::UILottView
Lottie 动画视图控件,用于加载和播放 Lottie 动画文件
- 构造:无
-
成员函数:
接口名称 功能简述 SetSrc 设置 Lottie 动画源文件 Start 启动 Lottie 动画播放 Pause 暂停 Lottie 动画播放 Resume 恢复 Lottie 动画播放 Stop 停止 Lottie 动画播放 SetRepeat 设置动画是否重复播放 IsRepeat 查询动画是否重复播放 GetState 获取动画当前状态 SetPlayCount 设置动画播放次数 GetPlayCount 获取当前动画播放次数 GetCurrentFrame 获取当前动画帧号 SetReverse 设置动画是否反向播放 IsReverse 查询动画是否反向播放 SetOnLottAnimStopListener 设置动画停止回调监听器 GetOnLottAnimStopListener 获取当前动画停止回调监听器 -
使用包含头文件:
#include "lottie/ui_lott_view.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/lottie/ui_lott_view.h - 公有运算符:无
- 继承关系:UIView
- 嵌套类型:OnLottAnimStopListener
- 模板形参:无
Functions
OHOS::UILottView
SetSrc
bool SetSrc(std::string file, FILE *fp = nullptr, uint32_t offset = 0)
功能说明
- 核心用途:设置 Lottie 动画的源文件路径,加载动画资源
- 设计目的:支持从文件系统路径加载 Lottie 动画,同时支持通过文件指针和偏移量从打包文件中加载
- 使用场景:在播放动画前调用,设置动画源后可调用 Start 启动播放
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| file | std::string | Lottie 动画源文件路径 | 有效的文件路径字符串 |
| fp | FILE * | 文件指针,入参指针,可为 nullptr | nullptr 或有效的文件指针;缺省值为 nullptr |
| offset | uint32_t | 文件偏移量,用于从打包文件中定位动画数据 | 0 ~ UINT32_MAX;缺省值为 0 |
返回值
- 返回类型:
bool
返回源文件设置结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 源文件设置成功 |
| false(0) | 源文件设置失败 |
Start
void Start()
功能说明
- 核心用途:启动 Lottie 动画播放
- 设计目的:从动画起始帧开始播放 Lottie 动画
- 使用场景:在 SetSrc 成功设置源文件后调用,启动动画播放
Pause
void Pause()
功能说明
- 核心用途:暂停当前正在播放的 Lottie 动画
- 设计目的:暂停动画后可调用 Resume 恢复播放
- 使用场景:动画播放过程中需要临时暂停时调用
Resume
void Resume()
功能说明
- 核心用途:恢复已暂停的 Lottie 动画播放
- 设计目的:从暂停位置继续播放动画
- 使用场景:动画已通过 Pause 暂停后,需恢复播放时调用
Stop
void Stop()
功能说明
- 核心用途:停止 Lottie 动画播放
- 设计目的:停止动画播放并重置播放状态,触发 OnLottAnimStopListener 回调
- 使用场景:需要终止动画播放时调用
SetRepeat
void SetRepeat(bool repeat)
功能说明
- 核心用途:设置 Lottie 动画是否重复播放
- 设计目的:控制动画播放完成后是否自动重新开始播放
- 使用场景:在启动动画前或播放过程中设置重复播放模式
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| repeat | bool | 是否重复播放 | true:重复播放;false:不重复播放 |
IsRepeat
bool IsRepeat() const
功能说明
- 核心用途:查询 Lottie 动画是否设置为重复播放
- 设计目的:获取当前重复播放配置状态,为 const 成员函数,不修改对象状态
- 使用场景:需要判断当前动画是否处于重复播放模式时调用
返回值
- 返回类型:
bool
返回重复播放状态
| 返回值 | 触发场景 |
|---|---|
| true(1) | 动画设置为重复播放 |
| false(0) | 动画未设置为重复播放 |
GetState
uint8_t GetState() const
功能说明
- 核心用途:获取 Lottie 动画当前播放状态
- 设计目的:为 const 成员函数,不修改对象状态,返回动画器当前状态值
- 使用场景:需要查询动画当前处于播放、暂停、停止等状态时调用
返回值
- 返回类型:
uint8_t
返回动画状态值
| 返回值 | 触发场景 |
|---|---|
| 0 | 动画处于停止状态 |
| 1 | 动画处于播放状态 |
| 2 | 动画处于暂停状态 |
SetPlayCount
void SetPlayCount(uint16_t count)
功能说明
- 核心用途:设置动画播放次数
- 设计目的:控制动画播放的次数,0 表示无限循环播放
- 使用场景:在启动动画前设置播放次数;仅在 SetRepeat 设为 false 时生效
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| count | uint16_t | 播放次数,0 表示无限循环 | 0 ~ 65535 |
GetPlayCount
uint16_t GetPlayCount() const
功能说明
- 核心用途:获取当前动画播放次数设置
- 设计目的:为 const 成员函数,不修改对象状态,返回当前配置的播放次数
- 使用场景:需要查询动画播放次数配置时调用
返回值
- 返回类型:
uint16_t
返回当前播放次数设置
| 返回值 | 触发场景 |
|---|---|
| 0 | 无限循环播放 |
| 1~65535 | 对应设置的播放次数 |
GetCurrentFrame
float GetCurrentFrame() const
功能说明
- 核心用途:获取当前动画帧号
- 设计目的:为 const 成员函数,不修改对象状态,返回动画当前所在帧号
- 使用场景:需要获取动画播放进度或当前帧位置时调用
返回值
- 返回类型:
float
返回当前帧号
| 返回值 | 触发场景 |
|---|---|
| >= 0.0f | 当前动画帧号 |
SetReverse
void SetReverse(bool reverse)
功能说明
- 核心用途:设置动画是否反向播放
- 设计目的:控制动画播放方向,支持正向或反向播放
- 使用场景:在启动动画前或播放过程中设置反向播放模式
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| reverse | bool | 是否反向播放 | true:反向播放;false:正向播放 |
IsReverse
bool IsReverse() const
功能说明
- 核心用途:查询动画是否设置为反向播放
- 设计目的:为 const 成员函数,不修改对象状态,获取当前反向播放配置
- 使用场景:需要判断当前动画是否处于反向播放模式时调用
返回值
- 返回类型:
bool
返回反向播放状态
| 返回值 | 触发场景 |
|---|---|
| true(1) | 动画设置为反向播放 |
| false(0) | 动画设置为正向播放 |
SetOnLottAnimStopListener
void SetOnLottAnimStopListener(OnLottAnimStopListener* listener)
功能说明
- 核心用途:设置动画停止回调监听器
- 设计目的:注册回调,在动画播放停止时触发通知
- 使用场景:动画播放完成或调用 Stop 后需要执行特定逻辑时设置监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| listener | OnLottAnimStopListener* | 动画停止监听器指针,入参指针,可为 nullptr | nullptr 或有效的 OnLottAnimStopListener 指针 |
GetOnLottAnimStopListener
UILottView::OnLottAnimStopListener* GetOnLottAnimStopListener() const
功能说明
- 核心用途:获取当前动画停止回调监听器
- 设计目的:为 const 成员函数,不修改对象状态,返回当前已设置的监听器指针
- 使用场景:需要查询当前已注册的动画停止监听器时调用
返回值
- 返回类型:
UILottView::OnLottAnimStopListener*
返回当前监听器指针
| 返回值 | 触发场景 |
|---|---|
| 非空指针 | 已设置监听器 |
| nullptr | 未设置监听器 |