属性动画 (animation)或者显式动画 (animateTo)设置无限次播放之后如何进行关闭和动画切换?

属性动画 (animation)或者显式动画 (animateTo)设置无限次播放之后如何进行关闭和动画切换?

HarmonyOS
2024-10-30 10:54:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

​animateTo没有暂停功能,可通过三种方式结束当前的动画。

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

@Entry  
@Component  
struct Page {  
  @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: 5000, 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%') } } 

​②通过animator中的finish()方法来结束当前动画,参考文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-animator-V5#finish

③使用lottie三方库的动画来暂停,参考文档:​https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Flottie

分享
微博
QQ
微信
回复
2024-10-30 16:43:10
相关问题
动画请求绘制帧率
259浏览 • 1回复 待解决
animateTo动画如何暂停
807浏览 • 2回复 待解决
TransitionEffect动画循环播放如何关闭
1757浏览 • 1回复 待解决
animateTo动画如何直接停止
2434浏览 • 2回复 待解决
HarmonyOS中animateTo如何结束动画
684浏览 • 2回复 待解决
属性动画如何实现宽高动画效果
1909浏览 • 1回复 待解决
如何应用属性动画实现宽高的动画
310浏览 • 1回复 待解决
动画lottie能否设置播放次数
1952浏览 • 1回复 待解决
Swiper切换不需要动画
347浏览 • 2回复 待解决
关于属性动画的问题?
9988浏览 • 3回复 待解决
属性动画请求可变帧率
298浏览 • 1回复 待解决
HarmonyOS 属性动画中途如何停止?
269浏览 • 1回复 待解决
HarmonyOS 本地lottie动画无法播放
325浏览 • 1回复 待解决
如何全局设置页面转场动画
663浏览 • 1回复 待解决
swiper组件如何实现自定义切换动画
631浏览 • 1回复 待解决