在列表视图中滚动时图像消失

时间:2019-10-06 14:19:44

标签: flutter dart

我正在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,),
...
      ],
    );
  }

Preview

4 个答案:

答案 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

进行操作