首页 > 解决方案 > 使用 loadingBuilder 时 Flutter Image.network 不显示?

问题描述

我正在使用 Image.network 从网络加载图像。当我简单地传递 url 时,图像工作正常。它将在几秒钟后显示。但是当我使用 loadingBuilder 和 errorBuilder 时,图像被加载但不显示。我在 loadingBuilder 中创建的循环进度完成并消失,但未显示图像。

这里代码

Image.network(
      widget._imgLink,
      loadingBuilder: (context, child, loadingProgress) {
        return Center(
          child: CircularProgressIndicator(
            value: (loadingProgress != null)
                ? (loadingProgress.cumulativeBytesLoaded /
                    loadingProgress.expectedTotalBytes)
                : 0,
          ),
        );
      },
      errorBuilder: (context, error, stackTrace) {
        return Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text("Error loading"),
            FlatButton(onPressed: () {}, child: Text("Retry")),
          ],
        );
      },
    ),

如何告诉小部件在加载后显示图像?谢谢你。

标签: flutterdartwidget

解决方案


childloadingBuilder何时返回loadingProgressnull 将起作用。样本:

loadingBuilder: (context, child, loadingProgress) {
        if(loadingProgress == null)
          return child;

        return Center(
          child: CircularProgressIndicator(
            value: (loadingProgress != null)
                ? (loadingProgress.cumulativeBytesLoaded /
                    loadingProgress.expectedTotalBytes)
                : 0,
          ),
        );
      },

推荐阅读