在颤动中单击时停止 GIF 动画
Posted
技术标签:
【中文标题】在颤动中单击时停止 GIF 动画【英文标题】:Stop GIF animation on click in flutter 【发布时间】:2020-08-11 12:22:26 【问题描述】:我是 Flutter 的新手。我试图在点击时暂停 GIF 图像的动画并在第二次点击时恢复动画,但我不知道如何在颤振中实现它。 我正在为此使用资产图像,
Image.asset('images/xyz.gif')
但问题是图像连续动画。所以,任何人都知道如何实施,请帮助我。
【问题讨论】:
【参考方案1】:据我所知,在 Flutter 中,您不能使用 Image
小部件来控制 gif 的速度、持续时间、循环等等。
但我知道 this library 称为 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);
【讨论】:
以上是关于在颤动中单击时停止 GIF 动画的主要内容,如果未能解决你的问题,请参考以下文章