HarmonyOS 鸿蒙Next 组件的animation设置,iterations=-1;,已经监听到onFinish,动画效果怎么还在
HarmonyOS 鸿蒙Next 组件的animation设置,iterations=-1;,已经监听到onFinish,动画效果怎么还在
咨询描述:组件的animation设置,iterations=-1;,已经监听到onFinish,动画效果怎么还在
咨询场景描述:播放动画,播放完成后,将动画效果改为1,动画还在
1秒=1000毫秒,这边写了一个demo,有个0.5秒和10秒的对比,即一个按钮的duration为1000ms,一个按钮的duration为500ms,可以看一下:
// xxx.ets
@Entry
@Component
struct AttrAnimationExample {
@State widthSize: number = 250
@State widthSize1: number = 250
@State heightSize: number = 100
@State rotateAngle: number = 0
@State heightSize1: number = 100
@State rotateAngle1: number = 0
@State flag: boolean = true
@State flag1: boolean = true
build() {
Column() {
Button('change size 10秒')
.onClick(() => {
if (this.flag) {
this.widthSize = 150
this.heightSize = 60
} else {
this.widthSize = 250
this.heightSize = 100
}
this.flag = !this.flag
})
.margin(30)
.width(this.widthSize)
.height(this.heightSize)
.animation({
duration: 10000, //1秒=1000毫秒(ms)
curve: Curve.EaseOut,
iterations: 3,
playMode: PlayMode.Normal
})
Button('change size 0.5秒')
.onClick(() => {
if (this.flag1) {
this.widthSize1 = 150
this.heightSize1 = 60
} else {
this.widthSize1 = 250
this.heightSize1 = 100
}
this.flag1 = !this.flag1
})
.margin(30)
.width(this.widthSize1)
.height(this.heightSize1)
.animation({
duration: 500, //1秒=1000毫秒(ms)
curve: Curve.EaseOut,
iterations: 3,
playMode: PlayMode.Normal
})
}.width('100%').margin({ top: 20 })
}
}
更多关于HarmonyOS 鸿蒙Next 组件的animation设置,iterations=-1;,已经监听到onFinish,动画效果怎么还在的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对HarmonyOS鸿蒙Next组件的animation设置中iterations=-1
导致动画在onFinish
后仍然继续的问题,这里提供直接解答:
在HarmonyOS动画系统中,iterations
属性定义了动画循环的次数。当设置为-1
时,表示动画将无限循环。因此,即使动画监听器中的onFinish
方法被触发,动画本身仍然会继续执行,因为它被设置为无限循环。
要解决这个问题,你可以采取以下几种方法:
-
修改
iterations
值:将iterations
设置为一个具体的正整数,以限制动画的循环次数。例如,设置为1
表示动画只执行一次。 -
使用动画控制器:在动画执行过程中,通过动画控制器(如
Animator
对象)来控制动画的停止。你可以在适当的时候调用cancel()
或end()
方法来停止动画。 -
检查动画监听器:确保
onFinish
监听器正确实现,并且没有其他逻辑干扰动画的停止。
如果上述方法仍然无法解决问题,可能是由于动画系统的其他特性或bug导致的。此时,建议检查鸿蒙系统的更新日志或文档,看是否有相关的修复或说明。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html