关键帧动画
关键帧动画简易使用
一、概述
在 HarmonyOS 中,通过 UIContext 提供的 keyframeAnimateTo 接口可以指定若干个关键帧状态,从而实现分段的动画效果。该接口从 API Version 11 开始支持,在元服务中从 API version 12 开始支持使用,系统能力要求为 SystemCapability.ArkUI.ArkUI.Full。
二、使用步骤
(一)获取 UIContext 实例
在组件的生命周期函数(如 aboutToAppear)中获取 UIContext 实例对象,例如:
复制代码
(二)设置关键帧动画
创建关键帧状态数组
每个关键帧状态由 KeyframeState 对象表示,包含 duration(关键帧动画持续时间,单位毫秒,必填且取值范围 [0, +∞),小于 0 按 0 处理,浮点型向下取整)、curve(动画曲线,默认 Curve.EaseInOut,不支持 springMotion、responsiveSpringMotion、interpolatingSpring 曲线)和 event(在该关键帧时刻要达到的状态闭包函数)。
示例:
复制代码
设置关键帧动画整体参数并调用接口
KeyframeAnimateParam 对象包含 delay(动画整体延时时间,单位毫秒,默认 0,delay>=0 为延迟播放,delay<0 表示提前播放且有特殊处理规则)、iterations(动画播放次数,默认 1,-1 表示无限次播放,0 表示无动画效果,取值范围 [-1, +∞))和 onFinish(动画播放完成回调函数)。
示例:
复制代码
三、注意事项
布局类改变宽高的动画,内容默认直接到终点状态,若要内容跟随宽高变化,可使用 renderFit 属性配置。
在设置关键帧动画参数时,需注意参数的取值范围和默认值,确保动画效果符合预期。
评论