【问题标题】:Flutter asset image displays the wrong imageFlutter 资产图片显示错误的图片
【发布时间】:2020-02-17 10:59:49
【问题描述】:

我有 images 文件夹,里面有 table.png,然后我有一个 main_menu 文件夹,其中还有另一个 table.png 文件。

  • 图片
    • 主菜单
      • table.png
      • //...这里有其他图片
    • table.png
    • //...这里有其他图片

当我这样做时

                      decoration: BoxDecoration(
                        image: DecorationImage(
                          image: AssetImage("images/table.png"),
                        )
                      ),

它从images/main_menu/ 文件夹中获取table.png 图像...这是为什么呢?

不要告诉我它会搜索找到table.png 文件的第一个位置并显示它。在这种情况下,main_menu 下的 table.png 是它找到的第一个,这就是它显示它的原因。这只是一种预感,但是......如果这是真的,那么这是一个错误,不是吗?

干杯。

【问题讨论】:

  • 您是如何在 pubspec.yaml 中声明资产的?
  • - images/table.png 和 - images/main_menu/table.png
  • 好吧,我做了... AssetImage("images/table.png"),这正是问题所在,我看不出问题,它应该可以工作。我需要 images/table.png,但它似乎需要 images/main_menu/table.png 路径中​​的那个。
  • 你试图清理项目?
  • 是的...我目前通过更改其中一个文件的名称来解决它,但我仍然想找出问题...

标签: flutter flutter-layout flutter-dependencies


【解决方案1】:

试试这个:

  decoration: BoxDecoration(
    image: DecorationImage(
      image: AssetImage("./images/table.png"), 

     //instead of AssetImage("images/table.png") 

    )
  ),

【讨论】:

    【解决方案2】:

    有一种不同的方式来定义图像,但如果图片在子文件夹中,我更喜欢这种方式。 这是我的文件夹 assets->images 我在下面附上文件夹的屏幕截图

    assets-->images

    pubspec.yaml我这样定义

    pubspec.yaml file

    希望它会起作用:D

    在课堂上这样使用

    title: Image(
          image: AssetImage('assets/images/xyz.png'),
        ),
    

    【讨论】:

      【解决方案3】:

      参考这部分:Flutter Docs: Specifying assets

      注意:仅包含直接位于目录中的文件,除非子目录中存在同名文件(请参阅Asset Variants)。要添加位于子目录中的文件,请为每个目录创建一个条目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-03
        • 2022-11-19
        • 2016-11-19
        • 2015-05-17
        • 1970-01-01
        • 2021-10-24
        • 2023-01-31
        相关资源
        最近更新 更多