问题描述
我想在我的 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;
},),)