我有个图像,rectangle.png。其尺寸为75x197。它位于res/drawable和res/drawable xhdpi中。它在网格布局中多次显示,如下所示(来自xhdpi设备的Nexus-10的屏幕截图):

如果我从res/drawable xhdpi中删除图像文件,从而导致布局使用相同的图像,但在res/ from中,屏幕将更改为:

为什么会发生这种情况?
发布于 2014-04-07 15:31:22
为什么会发生这种情况?
对于位图,res/drawable/等同于res/drawable-mdpi/。安卓认为你的图像是为-mdpi屏幕设计的,屏幕是160 are。像Nexus 10这样的-xhdpi设备是320 the。因此,Android将在两个维度上将像素加倍,这样,在-xhdpi设备上看到的图像将与-mdpi设备上的相同图像大小相同。
发布于 2014-04-07 15:54:53
之所以发生这种情况,是因为android使用xhdpi中mdpi图像的大小,而它应该使用xhdpi,因此它正在放大它,为了在每个屏幕上使用正确的图像大小,设计一个适合mdpi屏幕的图像作为其他分辨率的参考,使用仿真器查看它的外观,mdpi屏幕是~160 mdpi,xhdpi是~320 mdpi,然后使用这个缩放因子来根据您想要的分辨率进行缩放:
xhdpi为2x,mdpi为0.75x,hdpi为1.5x,mdpi为1.5x。
在设计布局时,根据开发人员指南,此信息将帮助您:
xlarge屏幕至少有960 at x 720 at大屏幕至少640 at x 480 at普通屏幕至少470 at x 320 at小屏幕至少426 at x 320 at。
此公式有助于将px转换为dpi或dp: px = dp * (dpi / 160 )。
https://stackoverflow.com/questions/22916727
复制相似问题