#鸿蒙通关秘籍#如何在HarmonyOS元服务中使用animateTo接口实现无限循环动画?

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨雨尘UI

从API version 11开始,animateTo接口在元服务中得到支持,可以通过在animateTo函数中设置iterations为-1实现无限循环动画。以下代码展示了如何在一个按钮点击事件中无限循环旋转角度变化:

@Entry
@Component
struct AnimateToExample {
  @State rotateAngle: number = 0

  build() {
    Button('change rotate angle')
      .margin(50)
      .rotate({ x: 0, y: 0, z: 1, angle: this.rotateAngle })
      .onClick(() => {
        animateTo({
          duration: 1200,
          curve: Curve.Friction,
          delay: 500,
          iterations: -1,
          playMode: PlayMode.Alternate,
          onFinish: () => {
            console.info('play end')
          },
          expectedFrameRateRange: {
            min: 10,
            max: 120,
            expected: 60,
          }
        }, () => {
          this.rotateAngle = 90
        })
      })
  }
}

在这个代码中,通过设置iterations为-1,实现按钮的旋转角度在点击后无限循环。

分享
微博
QQ
微信
回复
7天前
相关问题
服务是否可以全程使用js实现
1691浏览 • 1回复 待解决
HarmonyOSanimateTo如何结束动画
800浏览 • 2回复 待解决
animateTo动画如何暂停
858浏览 • 2回复 待解决