【问题标题】:flutter: gif animation listener in Imageflutter: Image 中的 gif 动画监听器
【发布时间】:2018-08-20 01:15:03
【问题描述】:

我还是新手使用颤振,这是一种有趣的语言。只需要知道。

@override
Widget build(BuildContext context){
  return Center(
     child : Image.asset(
          "animated.gif"
     )
  );
}

如果我使用 Image.asset 构建动画图像小部件,是否可以知道动画何时结束,跳转到刚刚自定义的图像的特定帧,并添加一个侦听器,或者有其他方法可以实现吗?

【问题讨论】:

    标签: animation gif flutter


    【解决方案1】:

    图像小部件不显示动画资产的进度。 但是,您可以使用较低级别的 API 来获得更多控制权。

    如果您只需要了解计划帧的时间,您可以直接使用MultiFrameImageStreamCompleter。查看 Image 小部件的实现,了解如何获取和使用图像流完成器的示例。

    跳转到特定的动画帧更加棘手,因为动画格式对前一帧的增量进行编码,因此不支持随机搜索。实现这一点的一种方法是解码和缓存所有帧,您可以使用ui.Codec API 自己解码帧并缓存它们。请注意,这样做可能会消耗大量内存。

    【讨论】:

    • MultiFrameImageStreamCompleter 听起来很有趣。谢谢
    • 如果您提供一些代码示例来实现 MultiFrameImageStreamCompleter 的图像小部件,这样可以更好地控制图像资产,那会更有用。
    猜你喜欢
    • 2016-06-09
    • 2021-11-28
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 2020-11-15
    相关资源
    最近更新 更多