当前位置: 首页 > 知识库问答 >
问题:

盒子装饰:DecorationImage全屏背景图像

赫连冠玉
2023-03-14

根据Flutter文档,我试图使用DecoratedBox加载一个全屏图像作为容器的背景图像。

flutter:
  uses-material-design: true
  assets:
    - assets/background.png
@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)

显然,包没有正确解析。有人知道我到底做错了什么吗?

共有1个答案

蓬兴国
2023-03-14

对我有用。需要仔细检查的几件事:

  • 热重装/重启不会改变资产,所以请确保您正在进行常规构建。
  • 尝试从设备上卸载应用程序并进行干净的构建,有时构建系统很难替换旧的安装(例如,如果调试键更改)
  • 确保实际资产以及对它的所有引用都指向assets/background.png,而不是images/background.png(默认的pubspec.yaml建议将图像放入名为images的文件夹中,但只要所有内容都匹配,这并不重要)。
  • 尝试使用assetimage而不是exactassetimage
  • 确保容器有一个子容器,或者位于其父容器将为其指定大小的位置(例如,堆栈可以,但是将导致它为0x0,如果它没有内部大小或子容器)
 类似资料:
  • 背景图像在大屏幕上不显示为完整图像,但在小屏幕上很合适。 在所有的屏幕上,图像都有一个特定的维度来作为响应?

  • 问题内容: 我对前端开发和基础非常陌生。 我正在尝试成为响应时按比例缩小的全屏图像。 谁能告诉我我在做什么错?它可以正确缩放,但无法显示完整图像。我还希望将其放在移动设备上,这可能吗? HTML: CSS: 问题答案: //HTML 要么 要么

  • 我看到许多应用程序使用全屏图像作为背景。这是一个例子: 我想在项目中使用它,到目前为止,我发现最好的方法是使用大尺寸的图像,将其放入并使用来调整边距 问题是,如果屏幕分辨率非常高,图像质量就会下降。 我想到的另一个选择是使用中的图像,将中的和作为背景...这拉伸了图像,但我认为结果不是很好... 你会怎么做?

  • 问题内容: 我想将此图像作为网页的背景图像。但是,问题是图像不能覆盖整个页面,正如您在此预览中可能看到的那样,并且图像在最右端重复出现。有没有一种方法可以使图像覆盖整个页面(可以是任何方式,拉伸,调整大小或其他新方式)。 我的代码: 谢谢。 更新: 我现在终于相信,几乎没有什么可以使该图像完全适合我的PC屏幕的。我现在还可以,并且要继续前进,请不要发布答案。 问题答案: jsBin演示 (背景附件

  • 我的Android应用程序需要显示一个全屏位图作为背景,然后在上面使用OpenGL ES显示一些动态的3D图形(1.1或2.0--尚未决定)。背景图像是同一个应用程序中WebView组件的快照,因此它的尺寸已经完全适合屏幕。 我是OpenGL新手,但我知道显示位图的常规方法包括将其缩放成一个POT纹理(glTexImage2D)、配置矩阵、为矩形创建一些顶点并使用GLDraWarrays来显示。似

  • 我正在使用最新社区版的IntelliJ在Windows机器上开发Java8。为了使JFrame全屏显示,我找到了以下解决方案,其中我面临一个不同的行为,我想得到验证。 我从JFrame全屏中获取的解决方案 根据解决方案,我需要在下面三行使JFrame全屏: 但在我的项目中,我创建了一个类AppFrame。扩展JFrame的java。在默认构造函数中,我设置了一些基本属性,如字体等,重要的是可见性为