这意味着如果您为xhdpi设备生成200x200图像,则表示您 应该在150x150中生成相同的资源用于hdpi,100x100用于 mdpi,最后是ldpi设备的75x75图像。
我的XHDPI图像应该是200x200
像素,HDPI中的图像是150x150
像素,MDPI中的图像是100x100
,LDPI中的图像是{{1} }?阅读文档后,这就是我的想法,但是当我遇到这个页面时:
Android background image size in pixel
答案声明为不同的目录使用不同的像素量。我现在很困惑该做什么。以下是我现在的情况,如果我这样做,请告诉我:
所以基本上,我花了4-5个小时的时间将大量的图像重新调整为这些文件夹中的大小。现在我在想......我是否正确地重新调整它们的大小? mdpi应该是100x100吗?
基本上,我只是想知道这些目录是否应该包含那么多像素。因为我联系的问题不这样说。
非常感谢,
Ruchir
答案 0 :(得分:2)
你做得很好,如果你真的希望图片的大小是你缩放的尺寸。
让我们回顾一下:
mdpi
是160dpi的基线密度。这意味着mdpi
中160x160像素的图像将为1平方英寸。
hdpi
表示240dpi。相同的一平方英寸需要为240x240像素,或者比mdpi
资产大1.5。
xhdpi
解析为320dpi,因此方块必须为320x320像素。
xxhdpi
,480dpi,资产为480x480像素。
xxxhdpi
仅用于启动器图像,所以不用担心 - 它是640dpi。
我们通常在向量中设计,然后缩放到hdpi
,xhdpi
和xxhdpi';
mdpi is still relevant for some phone apps, but for tablets, it's virtually gone.
ldpi is obsolete, with less than 3% of phones using it. Android will interpolate the closest image for the screen density, if an exact match is not available. For quick results,
hdpi and
xxhdpi`是足够的。
现在请注意,xhdpi
的200x200是示例。您的像素大小将根据您希望图像的大小而不同。以mdpi
为指导 - 40dp为1/4英寸,80dp为1/2英寸,依此类推。 40dp是最小的体面命中目标,所以我不会让按钮小于那个。一旦确定了资产的大小,就可以将其扩展 - hdpi为1.5x,xhdpi为2x,xxhdpi为3x,并以此方式呈现资产。
Size Inches mdpi hdpi xhdpi xxhdpi
0.10 16 24 32 48
0.25 40 60 80 120
0.50 80 120 160 240
1.00 160 240 320 480
2.00 320 480 640 960
..等等
答案 1 :(得分:0)
XHDPI,HDPI,MDPI和LDPI目录适用于不同的设备屏幕密度,而不是不同的物理图像大小。
1'密度无关像素'定义为MDPI(每英寸160像素)设备上1个像素的物理大小。例如,如果希望按钮显示为2英寸宽,则ImageButton layout_width属性应设置为2 * 160 = 320dp(设备无关像素),MDPI目录中的图像应为320px。
<ImageButton
android:src="@drawable/my_button"
android:layout_width="320dp"
android:layout_height="160dp"/>
具有不同屏幕密度的设备将自动在XHDPI,HDPI或LDPI目录中查找与设备屏幕密度匹配的图像。例如,XHDPI手机的每英寸像素数是MDPI手机的两倍,因此layout_width仍应设置为320dp(假设您希望所有设备显示为2英寸),但XHDPI目录中的图像应为2 * 320 = 640px以匹配设备的密度(否则图像将显得模糊)。
如果您没有为设备的密度提供图像,那么Android将会回退到使用其他密度之一的图像。例如,这里当XHDPI设备回落到LDPI图像时会发生什么(仍然有效,但用于按钮的图像与设备的图像相比是模糊的):