Flutter 资产中的多分辨率背景图像

rjk*_*lli 6 android assets background-image flutter

在 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
Run Code Online (Sandbox Code Playgroud)

我们如何在 flutter 中添加多个 drawable 以支持多种屏幕尺寸而无需图像拉伸或缩放?

Umu*_*ALI 10

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

Dentisity  Flutter pixel ratio
ldpi        0.75x
mdpi        1.0x
hdpi        1.5x
xhdpi       2.0x
xxhdpi      3.0x
xxxhdpi     4.0x
Run Code Online (Sandbox Code Playgroud)

请参阅此处的文档


Sve*_*ven 2

这里解释了 Flutter 如何处理多分辨率图像。

基本上可以归结为:

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

一个例子:

.../my_icon.png
.../2.0x/my_icon.png
.../3.0x/my_icon.png
Run Code Online (Sandbox Code Playgroud)