图像未显示在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)
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)
我提到图片文件的方式有误。我在'-'和图像名称之间放置空格,而不是制表符。
资产:
- assets/images/logo.png
Run Code Online (Sandbox Code Playgroud)
不要在pubspec.yaml文件中的字符之间而不是制表符之间放置空格
确保您在 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 来清理中间文件并刷新。
| 归档时间: |
|
| 查看次数: |
9294 次 |
| 最近记录: |