4

我是新来的。我试图在点击时暂停 GIF 图像的动画并在第二次点击时恢复动画,但我不知道如何在颤振中实现它。我为此使用资产图像,

Image.asset('images/xyz.gif')

但问题是图像不断动画。所以,任何人都知道如何实施,请帮助我。

4

1 回答 1

7

据我所知,在 Flutter 中,您不能使用Image小部件来控制 gif 的速度、持续时间、循环等等。

但我确实知道这个名为 flutter_gifimage 的库可以帮助您做到这一点。

使用它,您可以使用类似于动画控制器的东西来控制 gif 动画的方式。这是您可以使用它执行的操作的示例:

在此处输入图像描述

示例用法:

首先声明一个 GifController 和一个 GifImage,它基本上是一个带有控制器的“图像”。

GifController controller= GifController(vsync: this);


     GifImage(
          controller: controller,
          image: AssetImage("images/animate.gif"),
     )

现在您可以像控制任何其他动画控制器一样控制它:

// loop from 0 frame to 29 frame
 controller.repeat(min:0,max:29,period:Duration(millseconds:300));

 // jumpTo thrid frame(index from 0)
 controller.value = 0;

 // from current frame to 26 frame
 controller.animateTo(26);
于 2020-04-30T08:50:22.437 回答