首页 > 解决方案 > Flutter:无法加载图像资产

问题描述

这是我第一次使用颤振,遵循文档中描述的所有内容并将图像添加到小部件。但我得到这个错误,我不明白做错了什么

我试过这种方式

@override
  Widget build(BuildContext context) {
    return Container(
      child: Image.asset("drawables/ic_launcher_transparent.png", width : 100, height: 100),
    );
  }


收到此错误

════════ Exception caught by image resource service ════════════════════════════════════════════════
The following assertion was thrown resolving an image codec:
Unable to load asset: drawables/ic_launcher_transparent.png

When the exception was thrown, this was the stack: 
#0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:225:7)
<asynchronous suspension>
#1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:668:31)
#2      AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:651:14)
#3      ImageProvider.resolveStreamForKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:504:13)
...
Image provider: AssetImage(bundle: null, name: "drawables/ic_launcher_transparent.png")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#59d28(), name: "drawables/ic_launcher_transparent.png", scale: 1.0)
════════════════════════════════════════════════════════════════════════════════════════════════════

标签: imageflutterassets

解决方案


该文件位于 lib 文件夹中。所以你需要在url中链接lib。检查下面。

@override
  Widget build(BuildContext context) {
    return Container(
      child: Image.asset("lib/drawables/ic_launcher_transparent.png", width : 100, height: 100),
  );
}

Pubspec 将如下所示。

  • pubspec.yaml
      使用材料设计:真实
        资产:
          - lib/drawables/

推荐阅读