如何将图标小部件转换为ImageProvider

时间:2020-09-07 14:49:36

标签: flutter

我想在程序中使用Flutter的Material design图标,为此,我需要使用Icon小部件。我有一个网络图像(NetworkImage小部件),如果URL为空,我想显示“材质设计”图标。

Container(
      width: 48.0,
      height: 48.0,
      decoration: BoxDecoration(
          image: DecorationImage(
            image: imgLink.isEmpty
                ? Icon(Icons.person_outline)
                : NetworkImage(
                    imgLink,
                  ),
          ),
          borderRadius: BorderRadius.circular(10.0)),
    ),

它显示错误,因为图标不是ImageProvider的子类型。现在,我如何将Icon转换为ImageProvider或任何其他方式。

1 个答案:

答案 0 :(得分:1)

BoxDecoration of Container中的

image仅支持ImageProvider类,该类具有 以下实施者 AssetBundleImageProvider,FileImage,MemoryImage,NetworkImage,ResizeImage,ScrollAwareImageProvider,因此它不支持图标小部件,因为图标小部件具有自己的IconData类,因此,这会向您发出错误消息,提示“图标不是ImageProvider的子类型”