2014-06-24 190 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設備提供適當的優質資源。