例如,我从数据库中获取餐厅列表,我只希望将图像的URL放入AssetImage中,但它无法工作。我尝试使用Image.asset,但是Imageprovider无法放置Image.asset。
最终餐厅列表= _restaurant.restaurant [index];
AssetImage(restaurantlist.imageurl); <---错误
Image.asset(restuarantlist.imagerurl); <---工作正常
什么知道AssetImage为什么不能工作?
答案 0 :(得分:1)
Image 有几个构造函数。
图片,用于从 ImageProvider 获取图片。
Image.asset ,用于使用以下方式从AssetBundle中获取图像: 键。
图片网络,用于从URL获取图片。
Image.file,用于从文件获取图像。
Image.memory,用于从Uint8List获取图像。
从AssetBundle获取图像,
并继承
标识图像无需提交确切的最终资产。
TL; DR
下载图像时使用:
Image.network(imgUrl)
答案 1 :(得分:0)
在抖动中,您可以使用Image
小部件显示图像,该窗口小部件具有称为image
的属性,该属性具有扩展了ImageProvider
类的任何类,该类用于解析所需的图像。 AssetImage
扩展了ImageProvider
,它将仅解决您的图像资产,您需要将其提供给Image
小部件,如下所示:
Image(image: AssetImage(restaurantlist.imageurl));
Image.asset
只是上述代码的简写。