在我的小部件上,
我有 3 個影像小部件來加載 3 個影像的 url。
眾所周知,3個Image Widgets加載圖片是有時間差的,
但是我有個要求:
3張圖片全部下載后,3個Image Widgets同時顯示這3張圖片,
怎么辦?
uj5u.com熱心網友回復:
Image.network(
widget.networkUrl,
fit: BoxFit.fill,
loadingBuilder: (BuildContext context, Widget child,
ImageChunkEvent? loadingProgress) {
if (loadingProgress == null) return child;
return Center(
child: CircularProgressIndicator(
value: loadingProgress.expectedTotalBytes != null
? loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes!
: null,
),
);
},
),
試試這個
uj5u.com熱心網友回復:
將預快取與 FutureBuilder 一起使用,如下所示。
FutureBuilder(
future: Future.wait([
precacheImage(NetworkImage('url_1'), context),
precacheImage(NetworkImage('url_2'), context),
//... More futures
]),
builder: (
context,
// List of booleans(results of all futures above)
AsyncSnapshot<List<bool>> snapshot,
){
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Image.network('url_1');
})
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407671.html
標籤:
