drawable-hdpi中相同像素尺寸的图像在drawable-mdpi文件夹中渲染相同或不同吗?
答案 0 :(得分:3)
是的,它们的呈现方式不同。
每次提供更高密度的图像时,这些图像都需要具有更大的像素大小以考虑密度,但在dp中显示为相同的大小。要将dp转换为像素,请将dp中的值乘以设备的密度乘数。 mdpi是1.0,hdpi是1.5,xhdpi是2.0。因此,hdpi中的100dp实际上是150px。
在100x100像素的drawable-mdpi / foo.png中使用图像的应用程序将在150x150像素的drawable-hdpi / foo.png中提供相同图像的更高密度版本。
如果图像是100x100像素,当放在-mdpi目录中时,它将被解释为具有中等密度。在中密度设备上,它将以1:1呈现。这同样适用于高密度设备上的-hdpi资产等。当系统使用来自不同密度桶的资产而不是设备自身密度时,会出现差异。当设备的原生密度的资产不可用时会发生这种情况。
如果图像是100x100像素并放在-hdpi目录中,则会将其解释为具有高密度。如果在中密度设备上没有该图像的相应-mdpi版本,则中密度设备将缩小图像。 mdpi的密度乘数是1,hdpi的密度乘数是1.5。 1 / 1.5 = 0.66。图像将缩小到原始大小的2/3。
答案 1 :(得分:1)
你真的需要阅读Supporting Multiple Screens。特别是Designing alternative layouts and drawables的部分(特别是替代抽屉)。
如果您提供一个drawable,Android会缩放它以匹配标准化屏幕(ldpi,mdpi,hdpi等),但最好使用相关的像素密度创建自己的drawable并将它们放在相关的可绘制文件夹中。
答案 2 :(得分:0)
实际上代码会查找最适合手机容量的文件夹。