【问题标题】:Is it possible to not include 1x of image asserts in Flutter?是否可以在 Flutter 中不包含 1x 的图像断言?
【发布时间】:2019-07-11 01:31:44
【问题描述】:

当我只包含 2x 图像时,它将显示 The asset assets/icons/xxx.png does not exist.

我必须包含 1x 图像版本吗?由于 iOS iPhone 都提供视网膜屏幕(2x 或 3x)。

PS:我正在制作一个仅支持 iPhone 和 iOS 12+ 的应用

【问题讨论】:

    标签: flutter


    【解决方案1】:

    from the flutter documentation

    假定主要资产对应于 1.0 的分辨率。为了 例如,考虑一个名为的图像的以下资产布局 我的图标.png:

    content_copy
      .../my_icon.png
      .../2.0x/my_icon.png
      .../3.0x/my_icon.png
    

    在设备像素比为 1.8 的设备上,资产 .../2.0x/my_icon.png 将被选中。对于设备像素比 2.7,将选择资产.../3.0x/my_icon.png

    pubspec.yaml 的资产部分中的每个条目都应对应 到真实文件,主资产条目除外。如果 主资产条目与真实文件不对应,则资产 具有最低分辨率的设备用作后备设备 低于该分辨率的设备像素比。 条目仍应为 但是,包含在 pubspec.yaml 清单中

    您可以添加 1x 图像以适应较旧的 iPad 和 iPhone。

    check this link for further info

    【讨论】:

    • 实际上,我是从目标 iOS 12.0 制作应用程序,所以只有 iPhone(不包括 iPad)和 iOS 12.0+ 不需要 1x 图像
    • 这就是我问的原因,为什么要包含无用的图像?
    • 我已经更新了我的答案。如果您仍然收到错误,请分享您的 pubspec.yaml 文件代码。
    • 我的问题是有可能或方式包含 1x 图像,因为我没有使用它们。包含资产时通常会出现这种情况。
    • 没有强制要求您包含 1x 图像,但我认为您的 pubspec.yaml 文件中存在错误,这就是导致此错误的原因。
    【解决方案2】:

    可以,但您需要将它们直接添加到pubspec.yaml

    所以,如果你有<path>/2.0x/image.webp<path>/3.0x/image.webp,那么你添加

    - <path>/image.webp
    

    pubspec.yaml 即使路径中没有 image.webp,它也能正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-20
      • 2015-06-06
      • 2023-01-24
      • 2011-02-02
      • 2021-08-21
      • 2016-03-07
      • 2012-10-25
      • 1970-01-01
      相关资源
      最近更新 更多