如何在 Flutter 中点击启动 Lottie 动画?

问题描述

我想在我的 Flutter 应用程序中使用 Lottie 动画作为微交互。我希望这个动画在用户点击它时播放。在阅读了 Lottie Package 的文档后,我知道如何添加动画以及如何显示它。但我还不明白如何使用 Gesture Detectors onTap 属性启动动画并只播放一次。

我使用动画控制器的 forward() 方法尝试了这个,但它似乎不起作用:

GestureDetector(
        onTap: () {
          _controller.forward();
        },child: Center(
          child: Lottie.asset('assets/test.json',repeat: false,controller: _controller),),

解决方法

这行得通吗?

GestureDetector(
        onTap: () {
          _controller.forward();
        },child: Center(
          child: Lottie.asset('assets/test.json',repeat: false,controller: _controller,onLoaded: (composition) {
                _controller
                  ..duration = composition.duration;
              },),)