【问题标题】:Is there a way to display an image if the requested image is not in my assets?如果请求的图像不在我的资产中,有没有办法显示图像?
【发布时间】:2018-12-31 14:35:31
【问题描述】:

标题可能有点混乱,但我会尝试用一个例子更好地解释它。 我正在使用小部件

Image.asset(
            'assets/images/${object.name}.jpg',
          ),

但如果所选图像不可用,我想显示默认图像(来自资产或网络)。

这可能吗?

谢谢。

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    如果资产加载失败,您可以使用 errorBuilder 函数返回另一个小部件。

    Widget createImage(String iconName) {
      return Image.asset('assets/icons/${iconName}.png',
          errorBuilder: (context, object, stacktrace) =>
              Image.asset('assets/icons/default.png'));
    }
    

    【讨论】:

      【解决方案2】:

      如果您正在寻找占位符,您可以使用以下软件包 here

      CachedNetworkImage(
             imageUrl: "http://via.placeholder.com/350x150",
             placeholder: new CircularProgressIndicator(),
             errorWidget: new Icon(Icons.error),
           ),
      

      【讨论】:

      • 他想从资产包而不是从网络中加载图像
      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 2020-03-06
      • 2020-11-06
      相关资源
      最近更新 更多