无法在 Flutter 中加载图像
Unable To Load Image in Flutter
我是 Flutter 新手。当我尝试加载资产时,我遇到了一个问题。
我检查了 pubspec.yaml 文件以进行识别,但没有发现任何问题。
我检查了给定的路径。
我也尝试了其他图片,甚至扩展名(.png,.jpg)
这是例外情况:
The following assertion was thrown resolving an image codec:
Unable to load asset: assets/images/pink_flower.jpg
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)
...
这是.yaml文件
name: flutterproject
description: VFL Lisesi uygulaması flutter ile.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/flower2.png
- assets/images/pink_flower.jpg
fonts:
- family: Montserrat
fonts:
- asset: assets/fonts/montserrat_black.ttf
weight: 300
- asset: fonts/montserrat_black_italic.ttf
weight: 300
- asset: fonts/montserrat_bold.ttf
weight: 600
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700
ImageWidget
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ImageBanner extends StatelessWidget {
final String _path;
ImageBanner(this._path);
@override
Widget build(BuildContext context) {
// TODO: implement build
return Container(
constraints: BoxConstraints.expand(
height: 300.0,
),
child: Image.asset(
_path,
fit: BoxFit.cover,
),
);
}
}
调用ImageWidget
ImageWidget('assets/images/pink_flower.jpg')
感谢您的帮助!
每当您对 pubspec.yaml
文件进行更改时,请务必在之后执行这两个步骤。
运行 flutter pub get
.
停止正在进行的会话并完全重新启动。
请确保您的缩进是这样的:
缩进错误
修复:
assets:
- assets/images/flower2.png
- assets/images/pink_flower.jpg
我是 Flutter 新手。当我尝试加载资产时,我遇到了一个问题。
我检查了 pubspec.yaml 文件以进行识别,但没有发现任何问题。
我检查了给定的路径。
我也尝试了其他图片,甚至扩展名(.png,.jpg)
这是例外情况:
The following assertion was thrown resolving an image codec:
Unable to load asset: assets/images/pink_flower.jpg
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)
...
这是.yaml文件
name: flutterproject
description: VFL Lisesi uygulaması flutter ile.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/flower2.png
- assets/images/pink_flower.jpg
fonts:
- family: Montserrat
fonts:
- asset: assets/fonts/montserrat_black.ttf
weight: 300
- asset: fonts/montserrat_black_italic.ttf
weight: 300
- asset: fonts/montserrat_bold.ttf
weight: 600
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700
ImageWidget
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ImageBanner extends StatelessWidget {
final String _path;
ImageBanner(this._path);
@override
Widget build(BuildContext context) {
// TODO: implement build
return Container(
constraints: BoxConstraints.expand(
height: 300.0,
),
child: Image.asset(
_path,
fit: BoxFit.cover,
),
);
}
}
调用ImageWidget
ImageWidget('assets/images/pink_flower.jpg')
感谢您的帮助!
每当您对 pubspec.yaml
文件进行更改时,请务必在之后执行这两个步骤。
运行
flutter pub get
.停止正在进行的会话并完全重新启动。
请确保您的缩进是这样的:
缩进错误
修复:
assets:
- assets/images/flower2.png
- assets/images/pink_flower.jpg