HarmonyOS Next 动画大全 03- 帧动画
HarmonyOS Next 动画大全 03-帧动画
介绍
帧动画Animator
和属性动画animation
、显式动画animateTo
的区别在于帧动画是通过返回应用onFrame
逐帧回调的方式,让开发者在
应用侧的每一帧都可以设置属性值,从而实现设置了该属性值对应组件的动画效果。并且可以轻松的控制动画的播放、暂停等状态。这让它提供了更加强大的动画控制能力
帧动画示例
酷狗音乐
基本使用
最基本的使用步骤分为 4 步:
引入帧动画
创建帧动画
监听帧动画的帧变化事件 -> 设置动画
开始播放
1. 引入帧动画
Animator
是用来创建帧动画对象的AnimatorResult
表示帧动画对象的类型
2. 创建帧动画
其中,在创建帧动画对象的时候,必须要传入动画参数 AnimatorOptions
帧动画参数
以下动画参数绝大部分都和之前讲过的 属性动画和显式动画类似,可以返回前两篇动画文章
duration
动画播放时长,单位毫秒easing 速度曲线,可以使用以下的值
delay
延迟时间 单位毫秒fill 动画播放之外的状态
direction
动画播放方向 如当重复执行 4 次动画时,动画的方向可以设置为alternate
A-B
B-A
A-B
B-A
iterations
动画执行次数,-1 为无限begin
表示动画开始的数值end
表示动画结束的数值
示例代码:
3. 监听帧变化事件
通过给帧动画对象注册 onFrame 事件实现监听 begin -> end 的数值变化,再将这个数值变化设置给我们的 State,便可以实现动画效果了
不要忘记了让你的组件使用上这个 变化的状态 angle
4. 开始动画
最后,我们查看效果
完整代码
其他的方法
帧对象的其他方法
reset
重置动画器play
播放动画finish
完成动画播放 相当于设置动画到了 end 的数值的状态pause
暂停动画cancel
取消动画reverse
以相反的顺序播放动画
其他事件
onFrame
帧变化事件onFinish
动画完成事件onCancel
动画取消事件onRepeat
动画重复执行时触发的事件
版权声明: 本文为 InfoQ 作者【万少】的原创文章。
原文链接:【http://xie.infoq.cn/article/4518a7da3c6d8fe191fa5c30c】。文章转载请联系作者。
评论