浏览 67
扫码
图片在Flutter中是通过Image组件来展示的,Image组件支持网络图片、本地图片以及Asset图片。在Flutter中,可以通过以下几种方式加载图片:
- 加载网络图片: 直接使用Image.network()构造函数加载网络图片,如下所示:
Image.network('https://example.com/image.jpg')
- 加载本地图片: 使用Image.file()构造函数加载本地图片,需要传入图片的File对象,如下所示:
Image.file(File('path/to/image.jpg'))
- 加载Asset图片: 使用Image.asset()构造函数加载Asset图片,需要传入图片的路径,如下所示:
Image.asset('assets/image.jpg')
- 图片缩放、裁剪和填充: 可以通过设置fit属性来控制图片的缩放、裁剪和填充方式。常见的fit属性值有:
- BoxFit.fill:填充整个容器,可能会拉伸图片。
- BoxFit.contain:等比例缩放图片,使图片的长或宽至少有一个等于容器的长或宽。
- BoxFit.cover:等比例缩放图片,使图片的长和宽都大于等于容器的长和宽。
- BoxFit.fitWidth:等比例缩放图片,使图片的宽等于容器的宽。
- BoxFit.fitHeight:等比例缩放图片,使图片的高等于容器的高。
示例:
Image.network(
'https://example.com/image.jpg',
fit: BoxFit.cover,
)
- 加载失败时显示占位图: 通过设置placeholder属性可以在图片加载失败时显示一个占位图,如下所示:
Image.network(
'https://example.com/image.jpg',
fit: BoxFit.cover,
errorBuilder: (context, error, stackTrace) {
return Image.asset('assets/placeholder.jpg');
},
)
以上就是关于图片Widget的基础知识和用法,读者可以根据自己的需求选择合适的方式来加载和展示图片。