相关疑难解决方法(0)

如何在 Flutter 中的 AnimationController.repeat() 之间添加一些延迟

我需要在每次动画迭代之间添加一些延迟来调用重复。类似于下图。 在此处输入图片说明

我试图通过将值传递给 repeat 方法的 period 参数来做到这一点,但这不是我所期望的。

_controller = AnimationController(vsync: this, duration: widget.period)
      ..addStatusListener((AnimationStatus status) {
        if (status != AnimationStatus.completed) {
          return;
        }
        _count++;
        if (widget.loop <= 0) {
          //_controller.repeat(period: Duration(microseconds: 5000));
          _controller.repeat();
        } else if (_count < widget.loop) {
          _controller.forward(from: 0.0);
        }
      });
Run Code Online (Sandbox Code Playgroud)

我还尝试在动画中添加 Tween。那也没有帮助。你能帮我澄清一下我哪里出错了吗?

AnimatedBuilder(
      animation: Tween<double>(begin: 0.0, end: 1.0).animate(
        CurvedAnimation(
          parent: _controller,
          curve: Interval(0.5, 1.0)
        ),
      ),
      child: widget.child,
      builder: (BuildContext context, Widget child) => _Shiner(
        child: child,
        direction: widget.direction,
        gradient: widget.gradient,
        percent: _controller.value,
        enabled: widget.enabled,
      ),
    );
Run Code Online (Sandbox Code Playgroud)

animation delay flutter flutter-animation animationcontroller

5
推荐指数
1
解决办法
2713
查看次数