Image.network(
bizLists[position].docurl,
fit: BoxFit.cover,
width: MediaQuery.of(context)
.size
.width * 0.75,
)
尝试使用 image.network 颤振渲染图像时会抛出编解码器错误。
图片网址是http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg
发生这种情况的原因是上下文无效。
上下文无效,因为 MaterialApp(或您使用的任何内容(是在上下文之后构建的,因此尚没有可用的 MediaQuery。
这也意味着你的结构是错误的,"可见"的控件不应该与MaterialApp位于同一类上。
一个建议的解决方案是将Image.network Widget移动到一个新类。
片段:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
body: MySuperJuicyImage()
)
);
}
}
class MySuperJuicyImage extends StatelessWidget{
Widget build(BuildContext context){
return Image.network(
'http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg',
fit: BoxFit.cover,
width: MediaQuery.of(context).size.width * 0.75,
);
}
}
您确定bizLists[position].docurl
包含正确的 URL 吗?尝试将该调用替换为您发布的 URL。当我累了它时,图像正确呈现。试一试。
Image.network(
'http://180.12.181.8:2100/business/9c8468fb3b91ff16ab1539789bb71811.jpg',
fit: BoxFit.cover,
width: MediaQuery.of(context).size.width * 0.75,
)