HarmonyOS animateTo或animation动画如何取消

看了看文档好像没看到有相关的取消方法

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

如果你需要打断动画可以参考下这个demo,设置一个为0的动画去打断之前的动画。

参考demo:

@Component
@Entry
struct Index {
  @State clickNumber: number = 0;
  @State myScale: number = 1.0;
  uiContext: UIContext | undefined = undefined;
  imageIndex: number = 0
  aboutToAppear() {
    this.uiContext = this.getUIContext?.();
  }
  build() {
    Stack({ alignContent: Alignment.TopEnd }) {
      //木鱼图片
      Image($r('app.media.startIcon'))
        .zIndex(2)
        .width(200)
        .height(200)
        .margin({ top: 300, right: 130 })
        .scale({ x: this.myScale, y: this.myScale })// .clickEffect({level:ClickEffectLevel.LIGHT,scale:0.5})
        .onClick(() => {
          if (!this.uiContext) {
            return;
          }
          //设置一个显示动画为0的动画,去打断之前的动画
          animateTo({ duration: 0, iterations: 1}, () => {
            console.info('this.dur0xxx---', this.myScale)
            this.myScale = 1;
          })
          animateTo({ duration: 1500, iterations: 1 ,onFinish: () => {
            animateTo({ duration: 1500, iterations: 1}, () =>{
              console.info('this.dur2---', this.myScale)
              this.myScale = 1;
            })
          }}, () => {
            console.info('this.dur1---', this.myScale)
            this.myScale = 0.8;
          })
        })
    }.backgroundColor(Color.Black)
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOSanimateTo如何结束动画
831浏览 • 2回复 待解决
animateTo动画如何直接停止
2542浏览 • 2回复 待解决
animateTo动画如何暂停
892浏览 • 2回复 待解决
HarmonyOS 怎样实现开屏动画图片?
381浏览 • 1回复 待解决
HarmonyOS Tabs如何取消弹簧效果
360浏览 • 1回复 待解决