如何将我声明的变量放入AssetImage

时间:2019-07-19 07:26:21

标签: flutter dart

例如,我从数据库中获取餐厅列表,我只希望将图像的URL放入AssetImage中,但它无法工作。我尝试使用Image.asset,但是Imageprovider无法放置Image.asset。

最终餐厅列表= _restaurant.restaurant [index];

AssetImage(restaurantlist.imageurl); <---错误
Image.asset(restuarantlist.imagerurl); <---工作正常

什么知道AssetImage为什么不能工作?

2 个答案:

答案 0 :(得分:1)

Image 有几个构造函数。

  

图片,用于从 ImageProvider 获取图片。

     

Image.asset ,用于使用以下方式从AssetBundle中获取图像:   键

     

图片网络,用于从URL获取图片

     

Image.file,用于从文件获取图像。

     

Image.memory,用于从Uint8List获取图像。



AssetImage

  

从AssetBundle获取图像,

并继承

ImageProvider

  

标识图像无需提交确切的最终资产


TL; DR

下载图像时使用:

Image.network(imgUrl)

答案 1 :(得分:0)

在抖动中,您可以使用Image小部件显示图像,该窗口小部件具有称为image的属性,该属性具有扩展了ImageProvider类的任何类,该类用于解析所需的图像。 AssetImage扩展了ImageProvider,它将仅解决您的图像资产,您需要将其提供给Image小部件,如下所示:

Image(image: AssetImage(restaurantlist.imageurl));

Image.asset只是上述代码的简写。