我正在Flutter中开发一个新的应用程序,但是当有些图像比屏幕高时,图像就会消失。
我正在使用最新版本的Flutter / Dart。 我尝试将cacheExtent添加到ListView,但是没有任何变化。 扑扑的医生:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.4, on Microsoft Windows [Versione 10.0.18362.356], locale it-IT)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] VS Code (version 1.38.1)
[√] Connected device (1 available)
• No issues found!
@override
Widget build(BuildContext context) {
final double width = MediaQuery.of(context).size.width;
super.build(context);
return ListView(
children: <Widget>[
Image.network('https://wallpaperaccess.com/full/11740.jpg', width: width, height: width, fit: BoxFit.cover,),
Image.network('https://wallpaperaccess.com/full/11740.jpg', width: width, height: width, fit: BoxFit.cover,),
Image.network('https://wallpaperaccess.com/full/11740.jpg', width: width, height: width, fit: BoxFit.cover,),
...
],
);
}
答案 0 :(得分:0)
您可以: 1>将图像小部件包装到另一个小部件(例如,容器)中 2>使用ListView.builder并在您喜欢的容器或某些小部件中包装listView。
答案 1 :(得分:0)
您可以使用BoxFit.fill
来根据手机大小加载图像
要么
仅给double.infinity
提供宽度
并保留“高度参数”为空
答案 2 :(得分:0)
return Scaffold(
body: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: ListView(
children: Widget[
Container(
width: 300,
height:300,
child: Image(
image: NetworkImage("your networkd image here"),
fit: BoxFit.fitWidth
)
)
]
)
)
);
尽您所能:)
答案 3 :(得分:0)
我在GitHub的flutter repo上发布了一个Issue。该错误尚未修复,请按照问题here
进行操作