BoxDecoration: DecorationImage 全屏背景图片
BoxDecoration: DecorationImage Fullscreen background image
根据 Flutter docs 我正在尝试使用 DecoratedBox 加载全屏图像作为容器的背景图像。
my pubspec.yaml 包含嵌入资产的相关定义:
flutter:
uses-material-design: true
assets:
- assets/background.png
并且 widget.dart 尝试按照规定填充新 Container 的背景:
@override
Widget build(BuildContext context) {
return new Container(
decoration: new BoxDecoration(
color: Colors.purple,
image : new DecorationImage(
image: new ExactAssetImage('assets/background.png'),
fit: BoxFit.cover,
),
),
),
}
但我收到以下错误:
Unable to load asset: assets/background.png
Image provider: ExactAssetImage(name: "assets/background.png", scale: 1.0, bundle: null)
显然捆绑包没有正确解析。有谁知道我到底做错了什么吗?
对我有用。需要仔细检查的几件事:
- 热门 reloading/restarting 不会更改资产,因此请确保您进行的是常规构建。
- 尝试从设备上卸载应用程序并进行干净的构建,有时构建系统很难替换旧安装(例如,如果您的调试密钥更改)
- 确保实际资产以及对它的所有引用都指向 assets/background.png 而不是 images/background.png(默认 pubspec.yaml 建议将图像放入一个名为 images 的文件夹,但只要所有内容都匹配就没关系。
- 尝试使用
AssetImage
而不是 ExactAssetImage
- 确保 Container 有一个子容器或位于父容器将为其指定大小的位置(例如
Stack
可以,但 Column
会导致它如果它没有固有大小或子元素,则为 0x0)
根据 Flutter docs 我正在尝试使用 DecoratedBox 加载全屏图像作为容器的背景图像。
my pubspec.yaml 包含嵌入资产的相关定义:
flutter:
uses-material-design: true
assets:
- assets/background.png
并且 widget.dart 尝试按照规定填充新 Container 的背景:
@override
Widget build(BuildContext context) {
return new Container(
decoration: new BoxDecoration(
color: Colors.purple,
image : new DecorationImage(
image: new ExactAssetImage('assets/background.png'),
fit: BoxFit.cover,
),
),
),
}
但我收到以下错误:
Unable to load asset: assets/background.png
Image provider: ExactAssetImage(name: "assets/background.png", scale: 1.0, bundle: null)
显然捆绑包没有正确解析。有谁知道我到底做错了什么吗?
对我有用。需要仔细检查的几件事:
- 热门 reloading/restarting 不会更改资产,因此请确保您进行的是常规构建。
- 尝试从设备上卸载应用程序并进行干净的构建,有时构建系统很难替换旧安装(例如,如果您的调试密钥更改)
- 确保实际资产以及对它的所有引用都指向 assets/background.png 而不是 images/background.png(默认 pubspec.yaml 建议将图像放入一个名为 images 的文件夹,但只要所有内容都匹配就没关系。
- 尝试使用
AssetImage
而不是ExactAssetImage
- 确保 Container 有一个子容器或位于父容器将为其指定大小的位置(例如
Stack
可以,但Column
会导致它如果它没有固有大小或子元素,则为 0x0)