0

drawable-hdpi 中相同像素尺寸的图像在 drawable-mdpi 文件夹中呈现相同还是不同?

4

3 回答 3

3

是的,它们会以不同的方式呈现。

每次您提供更高密度的图像时,这些图像都需要具有更大的像素尺寸以说明密度,但以相同的 dp 尺寸显示。要将 dp 转换为像素,请将 dp 中的值乘以设备的密度乘数。mdpi 为 1.0,hdpi 为 1.5,xhdpi 为 2.0。因此 hdpi 中的 100dp 实际上是 150px。

在 drawable-mdpi/foo.png 中具有 100x100 像素图像的应用程序将在 drawable-hdpi/foo.png 中以 150x150 像素提供相同图像的更高密度版本。

如果图像为 100x100 像素,则当放置在 -mdpi 目录中时,它将被解释为具有中等密度。在中等密度设备上,它将以 1:1 呈现。这同样适用于高密度设备上的 -hdpi 资产等。当系统使用来自与设备自身密度不同的密度桶的资产时,就会出现差异。当设备的本机密度的资产不可用时,就会发生这种情况。

如果图像是 100x100 像素并放置在 -hdpi 目录中,它将被解释为具有高密度。如果中等密度设备上没有该图像的对应 -mdpi 版本,则中等密度设备将缩小图像。mdpi 的密度乘数为 1,hdpi 的密度乘数为 1.5。1/1.5 = 0.66。图像将缩小到其原始大小的 2/3。

于 2012-05-10T23:19:18.467 回答
1

你真的需要阅读Supporting Multiple Screens。特别是设计替代布局和可绘制对象(特别是替代可绘制对象)部分。

如果您提供一个可绘制对象,Android 将对其进行缩放以匹配标准化屏幕(ldpi、mdpi、hdpi 等),但最好创建您自己的具有相关像素密度的可绘制对象并将它们放置在相关的可绘制文件夹中。

于 2012-05-10T23:17:17.463 回答
0

事实上,代码会寻找最适合手机容量的文件夹。

于 2012-05-10T22:59:53.643 回答