HarmonyOS 显示动画是否可以暂停或者取消再重新设置动画 ?

HarmonyOS 显示动画是否可以暂停或者取消再重新设置动画 ?

HarmonyOS
2024-10-28 09:10:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

​animateTo不能暂停和取消动画。

1、另外起一个duration为0的动画在新的动画闭包中修改对应的属性来停掉之前的属性动画,示例代码如下:​

@Entry  
@Component  
struct Page240119142354017 {  
  @State message: string = ‘Hello World’;  
  @State opacityValue: number = 1  
  
  build() {  
    Row() {  
      Column() {  
        Text(this.message)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
          .opacity(this.opacityValue)  
        Button('开始动画').onClick(() => {  
          animateTo({ duration: 1000, iterations: -1, playMode: PlayMode.AlternateReverse }, () => {  
            this.opacityValue = 0  
          })  
        })  
        Button('结束动画').onClick(() => {  
          animateTo({  
            duration: 0, iterations: 1, onFinish: () => {  
              this.opacityValue = 1  
            }  
          }, () => {  
            this.opacityValue = 0.9  
          })  
        })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}

​2、可以改为animator实现。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-animator-V5

3、可以使用lottie三方库的动画来暂停​。

分享
微博
QQ
微信
回复
2024-10-28 15:25:27
相关问题
animateTo动画如何暂停
917浏览 • 2回复 待解决
HarmonyOS 怎么取消路由跳转动画
24浏览 • 1回复 待解决
HarmonyOS App启动时动画怎么取消
22浏览 • 1回复 待解决
HarmonyOS 是否支持SVG动画
29浏览 • 1回复 待解决