【问题标题】:Multi Resolution background images in Flutter assetsFlutter 资源中的多分辨率背景图像
【发布时间】:2019-07-25 08:23:33
【问题描述】:

在 Android 中,我们有各种 dpi 可绘制文件夹,因此我们根据分辨率在其中添加背景图像。就像在 iOS 中一样,我们根据屏幕尺寸添加 1x、2x 和 3x。但是我们如何在 Flutter 资源中添加多分辨率图像呢?

例如:

安卓

drawable-hdpi
 - login_background.jpeg
drawable-mdpi
 - login_background.jpeg
drawable-xhdpi
 - login_background.jpeg
drawable-xxhdpi
 - login_background.jpeg
drawable-xxxdpi
 - login_background.jpeg

我们如何在 Flutter 中添加多个可绘制对象以支持多种屏幕尺寸而不需要图像拉伸或缩放?

【问题讨论】:

标签: android flutter background-image assets


【解决方案1】:

Flutter 定义像 ios 这样的比率,例如,您可以在 assets/images 下为 ldpi 图像创建一个名为 0.75x 的文件夹。其他密度如下

Dentisity  Flutter pixel ratio
ldpi        0.75x
mdpi        1.0x
hdpi        1.5x
xhdpi       2.0x
xxhdpi      3.0x
xxxhdpi     4.0x

See documentation here

【讨论】:

  • 所以如果我使用 assets/2.0x/icon.png 用于 hdpi 和 assets/icon.png 用于 mdpi,那么我应该为 ldpi 使用什么?因为最低的 1.0x 不是由附加文件夹定义的,它被认为是最低的。
  • 您可以在图像下创建 0.75x 文件夹,例如 'images/0.75x/my_icon.png'
【解决方案2】:

解释了 Flutter 如何处理多分辨率图像here

基本上是这样的:

AssetImage 了解如何将请求的逻辑资源映射到与当前设备像素比率最匹配的资源。为了使此映射起作用,资产应根据特定的目录结构进行排列:(...)

一个例子:

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

【讨论】:

  • 与图像资源一起使用时应该使用哪个图像(xxhdpi、mdi、hdpi 等)
猜你喜欢
  • 1970-01-01
  • 2015-03-12
  • 2014-08-01
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多