HarmonyOS 鸿蒙Next系统动画如何通过按钮手动暂停与继续
HarmonyOS 鸿蒙Next系统动画如何通过按钮手动暂停与继续
2 回复
解决方案已经找到
//属性创建
[@State](/user/State) play: boolean = false;
[@State](/user/State) scaleValue: number = 0.5
[@State](/user/State) rotateValue: number = 360
animator: AnimatorResult = Animator.create({
duration: 3000,
easing: "fast-out-slow-in",
iterations: -1,
delay: 0,
fill: 'none',
direction: 'normal',
begin: 0,
end: 1
})
//监听事件
this.animator.onFrame = (value: number) => {
this.scaleValue = 0.5 * (1 + value)
this.rotateValue = 360 * value
}
//按钮事件
Button(this.play ? '暂停' : '播放').onClick(() => {
this.play = !this.play
if (this.play) {
this.animator.play()
} else {
this.animator.pause()
}
})
//刷新 UI
IconItem({ image: item.image, text: item.text })
.scale({ x: this.scaleValue, y: this.scaleValue })
.rotate({ z: 1, angle: this.rotateValue })
HarmonyOS鸿蒙Next系统动画通过按钮手动暂停与继续,可以通过设置动画控制器的播放和暂停状态来实现。你需要定义一个布尔变量来控制播放状态,并在按钮点击事件中切换此变量的值。当变量为true时,调用动画控制器的play()方法继续动画;为false时,调用pause()方法暂停动画。如果问题依旧没法解决请加我微信,我的微信是itying888。