图像未显示在Flutter应用中

sya*_*lal 2 dart flutter

图像未显示在Flutter应用中。但是我在调​​试控制台中遇到了一些错误。

I/FlutterActivityDelegate(22603): onResume setting current activity to this
I/FlutterActivityDelegate(22603): onResume setting current activity to this
I/Timeline(22603): Timeline: Activity_idle id: android.os.BinderProxy@3eb59326 time:39937973
I/flutter (22603): ??? EXCEPTION CAUGHT BY SERVICES ???????????????????????????????????????????????????????????????????
I/flutter (22603): The following assertion was thrown resolving an image codec:
I/flutter (22603): Unable to load asset: assets/images/logo.png
I/flutter (22603): When the exception was thrown, this was the stack:
I/flutter (22603): #0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
I/flutter (22603): <asynchronous suspension>
I/flutter (22603): #1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:383:44)
I/flutter (22603): <asynchronous suspension>
I/flutter (22603): #2      AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:368:14)
I/flutter (22603): #3      ImageProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:86)
I/flutter (22603): #4      ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:82:22)
I/flutter (22603): #5      ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:63)
I/flutter (22603): (elided 8 frames from package dart:async)
I/flutter (22603): Image provider: AssetImage(bundle: null, name: "assets/images/logo.png")
I/flutter (22603): Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#19ce7(), name: "assets/images/logo.png",
I/flutter (22603): scale: 1.0)
I/flutter (22603): ????????????????????????????????????????????????????????????????????????????????????????????????????
D/ViewRootImpl(22603): ViewPostImeInputStage ACTION_DOWN
D/ViewRootImpl(22603): ViewPostImeInputStage ACTION_DOWN
Run Code Online (Sandbox Code Playgroud)

我的Pubspec.yaml文件

资产:-asset / images / logo.png

login.dart代码

新的Image.asset(“ assets / images / logo.png”,宽度:60.0,高度:24.0,适合:BoxFit.cover)

目录结构

pubspec.yaml文件

vic*_*hri 13

可能有两个问题:

1.)要么你的 pubspec.yaml 文件没有正确的缩进。附上片段以供参考。

flutter:  
  uses-material-design: true   
  assets:   
    - assets/
Run Code Online (Sandbox Code Playgroud)

- assets/ 将考虑目录中的所有图像。

2.)如果您使用的是 .jpg 图像,请在任何调用它的地方将其更改为 .jpeg。

附上片段供您参考

class _UserLoginState extends State<UserLogin> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          Image(image: AssetImage("assets/christmas.jpeg"),
          fit: BoxFit.cover,
        ],
      )
    );
  }
} 
Run Code Online (Sandbox Code Playgroud)


sya*_*lal 7

我提到图片文件的方式有误。我在'-'和图像名称之间放置空格,而不是制表符。

资产:

- assets/images/logo.png
Run Code Online (Sandbox Code Playgroud)

不要在pubspec.yaml文件中的字符之间而不是制表符之间放置空格


Roh*_*wal 7

Hot Reload这是我的情况的问题。我只是重新启动 Android studio 并重新运行该应用程序,一切正常!

在此输入图像描述


liv*_*ove 5

确保您在 Image.asset 中引用的文件夹包含该文件。

例如:

Image.asset(
"./assets/images/loading.gif",
height: 125.0,
width: 125.0,
)
Run Code Online (Sandbox Code Playgroud)

文件夹应该是:

C:\your_app_folder\assets\images
Run Code Online (Sandbox Code Playgroud)

pubspec.yaml:

  assets:
    - assets/
    - assets/images/
Run Code Online (Sandbox Code Playgroud)

运行 flutter clean 来清理中间文件并刷新。