2014-06-24 136 views
0

在iOS上,您可以指定@将在地方的像素密度(UIScreen比例)大于1。你还是指逻辑像素使用2倍的图像2X的效果,但图像会使用实际的物理像素(通常是逻辑像素的4倍)进行显示。@ Android的9补丁

在Android上,这似乎是使用DP到指定的尺寸也有类似的效果。例如,布局如下面

<TextView 
     android:layout_width="50dp" 
     android:layout_height="25dp" 
     android:id="@+id/MessageTextView" 
     android:background="@drawable/messageBackground" /> 

如果messageBackground的图像是更高的分辨率比50x25,该平台具有更高密度的屏幕上显示时,使用附加的像素信息来填充适当地缩放它增加的像素。 (至少在我看来这是如此)。

然而,我的问题涉及九个修补图像。这些是基于它们显示在上面的实际尺寸拉伸的图像。

9张修补的图片我一直无法弄清楚如何让他们在高密度屏幕“按比例增加”。正如你所期望的那样,九个补丁的伸展部分延伸以使图像更大。但九个补丁的“固定”部分只是使用dp像素显示,而不是实际的像素。

是否有使用更高的清晰度图像与九个补丁的方式,使得图像显示在该装置的全分辨率的“固定”部分?我不想让更高分辨率的版本显得更大,我希望它使用所有可用的像素来显示它的自然大小,以获得最佳图像。

+0

您可以制作多个9个补丁图像,每个补丁图像都具有合适的分辨率(以像素为单位并且表示该分辨率的正确dpi)。将每个9补丁放在适当的文件夹中('/ res/drawable-xyzdpi') –

回答

2

有没有一种方法可以使用具有九个补丁的较高分辨率图像,以便图像的“固定”部分以设备的全分辨率显示?

是。请参阅Android开发人员网站上的Providing ResourcesSupporting Multiple Screens文档。

您需要在多种分辨率创建您的资源,那么你只需拖放到该密度斗适当绘制的文件夹。

从本质上讲,drawables-mdpi文件夹是用于您的标准1倍的资源之一。 drawables-xhdpi是你的2x。您可能想要在mdpi,hdpi,xhdpi和xxhdpi中提供绘图工具,以便为绝大多数Android设备提供适当的优质资源。