HarmonyOS鸿蒙Next中动画调cancel会触发onFinish

HarmonyOS鸿蒙Next中动画调cancel会触发onFinish

  • private wrongAnimator: AnimatorResult | undefined = undefined

  • moveBack = () => {

    this.wrongAnimator = animator.create({ duration: 300, easing: "ease", delay: 0, fill: "forwards", direction: "normal", iterations: 1, begin: 0, end: 1 }) this.wrongAnimator.onFinish = () => { Log.debug("animateTo:onFinish") } this.wrongAnimator.onRepeat = () => {

    } this.wrongAnimator.onCancel = () => { Log.debug("animateTo:oncancel") } this.wrongAnimator.onFrame = (value:number) => {

    } this.wrongAnimator.play()

}

动画调cancel(this.wrongAnimator?.cancel())的时候会触发onFinish是啥情况?有时候会隔半分钟触发。有时候需要再调几次,然后同时触发之前所有加起来的次数

2 回复

在HarmonyOS鸿蒙Next中,调用动画的cancel方法会触发onFinish回调。这是因为cancel方法会立即停止动画,并将其状态标记为完成。onFinish回调是动画生命周期的一部分,无论动画是正常结束还是被取消,都会触发该回调。开发者可以在onFinish中处理动画结束后的逻辑,例如更新UI或执行其他操作。需要注意的是,cancel方法不会触发onCancel回调,而是直接调用onFinish

更多关于HarmonyOS鸿蒙Next中动画调cancel会触发onFinish的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,调用动画的cancel()方法会立即停止动画,并触发onFinish回调。onFinish是动画结束时的通用回调,无论是正常完成、手动取消还是被中断,都会触发。开发者可以在onFinish中处理动画结束后的逻辑,例如更新UI或执行其他操作。需要注意的是,cancel()不会触发onCancel回调,而是直接调用onFinish

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!