一尘不染

如何从FadeInImage小部件的图标中制作图像提供程序?

flutter

我想使用FadeInImage一个图标作为占位符。

FadeInImage 构造函数很少。

在默认构造函数中,它ImageProvider用作占位符,在FadeInImage.MemoryNetwork(其中Uint8List用作内存占位符。

第三个构造函数创建AssetImage,但是我怀疑这是否有用。

有什么方法可以将Icon转换为这些数据类型之一?

签名示例:

FadeInImage(placeholder: iconPlaceholder, image: NetworkImage("url"))


阅读 235

收藏
2020-08-13

共1个答案

一尘不染

图标实际上只是字体中的文本,因此很难将其转换为图像。食谱中的技巧应该起作用。使用带有图标和透明占位符的堆栈。

    body: Stack(
      children: <Widget>[
        Center(child: Icon(Icons.something)),
        Center(
          child: FadeInImage.memoryNetwork(
            placeholder: kTransparentImage,
            image:
                'https://github.com/flutter/website/blob/master/_includes/code/layout/lakes/images/lake.jpg?raw=true',
          ),
        ),
      ],
    ),
2020-08-13