2016-01-23 54 views
0

我在阅读后添加图像的documentation如何添加图像?

这意味着,如果你生成xhdpi设备一个200x200的图像,你 应该产生同样的资源在150×150的华电国际,100×100的 MDPI和最后一个ldpi设备的75x75图像。

于是我在XHDPI图像是200x200像素,我在华电国际的图像是150x150像素,我在MDPI图像是100x100,我在LDPI图像是75x75?阅读文档后,我是这样想,但是当我遇到了这个页面:

Android background image size in pixel

的答案状态下使用不同pixeol金额为不同的目录。现在我很困惑该怎么做。以下是我现在在这里,请告诉我,如果我这样做正确的:

enter image description here

所以基本上,我花了在过去的4-5个小时重新浆纱很多我的图片中的大小这些文件夹。现在我在想......我是否正确地调整了它们的大小?它应该是100x100的mdpi?

基本上,我只是想知道目录是否应该有每个像素。因为我联系的问题说不是。

非常感谢,

Ruchir

+0

基本上,我只是想知道目录是否应该有每个像素。因为我联系的问题说不是。 –

回答

2

你做的很好,做你做了什么,如果你真正想要的图像是你缩放它们的大小。

让我们回顾一下:

mdpi是基准密度160dpi。这意味着mdpi中的160x160像素的图像将为一平方英寸。

hdpi代表240dpi。相同的一英寸平方将需要240x240像素,或者比mdpi资产大1.5倍。

xhdpi解析为320dpi,所以正方形需要为320x320像素。

xxhdpi,在480dpi将资产带到480x480像素。

xxxhdpi仅用于启动图像,所以不用担心 - 它是640dpi。

我们一般设计在载体中,然后扩展到hdpixhdpixxhdpi'; 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,华电国际and xxhdpi`就足够了。

现在请注意,xhdpi的200x200是示例。根据您想要的图片大小,您的像素大小会有所不同。以mdpi为参考 - 40dp为1/4英寸,80dp为1/2英寸,依此类推。 40dp是最小的体面命中目标,所以我不会让按钮变小。一旦确定了资产规模后,您就可以将其扩展 - 对于hdpi为1.5倍,对于xhdpi为2倍,对于xxhdpi为3倍,并以这种方式呈现您的资产。

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 

..和等

+0

首先,我想感谢您的详细解答。尽管如此,我仍然很困惑。你是说只要你有比例,你的基线是什么并不重要?这些比例是什么?另外,首先我并不真正了解所有这一切。为什么我不能为我的图像按钮使用'background'属性而不是'src'属性,以便它始终保持正确的大小?否则它会被拉伸?另外,为了扩展它,我将如何找出正确的基线?非常感谢! –

+0

屏幕具有不同的密度。即一个7英寸的平板电脑可能有一个1024x600的屏幕,或者1280x720或2048x1200等。如果您的图标像素大小相同,那么它们在高分辨率显示屏上会显得更小,Android会通过缩放资源来弥补这一点。为了使它们看起来尽可能好,并提高性能,你可以包含不同屏幕密度的预缩放版本* src与背景无关大小 – 323go

0

的XHDPI,HDPI,MDPI和LDPI目录是不同的设备的屏幕密度,不不同的物理尺寸的影像。 1'密度独立像素'被定义为MDPI(每英寸160个像素)设备上1个像素的物理尺寸。例如,如果您想要一个按钮出现2英寸宽,则ImageButton layout_width属性应设置为2 * 160 = 320dp(与设备无关的像素),并且MDPI目录中的图像应为320像素。

<ImageButton 
    android:src="@drawable/my_button" 
    android:layout_width="320dp" 
    android:layout_height="160dp"/> 

enter image description here

与不同屏幕密度的设备将自动查找在XHDPI,HDPI或LDPI目录中,该装置的屏幕相匹配的密度的图像。例如,XHDPI手机的每英寸像素数是MDPI手机的两倍,因此layout_width应该仍然设置为320dp(假设您希望它对所有设备显示为2英寸),但XHDPI目录中的图像应该是2 * 320 = 640px,以匹配设备的密度(否则图像会显得模糊)。

enter image description here

如果不提供设备的密度的图像,那么Android将回退使用的图像为其他密度之一。例如,这里是当XHDPI设备回退到一个LDPI图像上会发生什么(仍然有效,但用于按钮的图像是模糊的相比有什么设备能):

enter image description here

+0

等等...所以我不需要改变我的图像的大小?我现在很困惑...有什么区别?非常感谢! –

+0

如果你希望它在各种不同的设备上看起来很完美(没有模糊)那么确实需要将不同的图像分辨率导出到每个目录(如你所做的那样),如果没有精确的术语来说明我们是在谈论物理尺寸,图像分辨率还是密度,这很难解释。一些含糊之处: http://developer.android.com/guide/practices/screens_support。html – anjsimmo

+0

好的,我对密度和物理尺寸有点困惑 –