2011-07-27 108 views
0

我正在使用按鈕讓用戶做出選擇,大小爲50dip square。如果我使用一個帶有文本的按鈕,我會得到一個帶有「閃光燈」的圓角正方形,以確認按下時是否正常。但文字並沒有真正描述按鈕功能,我想使用圖像。我嘗試了一個24x24 png作爲背景,但模擬器上的分辨率非常糟糕,極其像素化,分辨率與「普通」,純文本按鈕的圓角無關(試圖圍繞背景的角落圖像使它看起來像一個ziggurat)。解決這個問題的最好方法是什麼?我應該使用一個250像素的平方bmp並讓android進行壓縮,還是有更好的方法在屏幕上獲得令人滿意的分辨率bmp?按鈕圖標背景大小

回答

0

Android根據屏幕分辨率縮放drawables。因此,在低分辨率屏幕上可以看到一個相當小的drawable,在低分辨率屏幕上可能看起來不錯,但在高分辨率屏幕上很難看。但是,您可以根據屏幕分辨率告訴Android使用哪些可繪製的繪圖。

安裝程序的文件夾結構這樣在你的資源文件夾中:

  • 繪製
  • 繪製,LDPI
  • 繪製,MDPI
  • 繪製,華電國際

這樣,你可以爲您的應用程序創建分辨率特定的圖形。您保留交叉分辨率圖形(XML定義的可繪製等)的默認「可繪製」文件夾。希望這有助於更廣泛的意義。

0

您應該閱讀Android開發人員指南。更具體的那部分:

Supporting Multiple Screens

+0

我閱讀這個,但沒有看到(或錯過它?)任何暗示什麼像素圖標與50 DPS有關。 – Graham

+0

作爲一般規則,將您的mdpi大小乘以1.5以獲得hdpi大小。例如,爲了不看像素化,應該爲hdpi提供7​​5px大小的50px按鈕mdpi。您還需要了解如何使用另一個答案中建議的9補丁圖像。 –

1

我認爲你要設置的按鈕,背景,增長/收縮自動(分辨率獨立顯卡),如果是這種情況,那麼有一個工具已經存在由Android :Draw 9-patch工具。

因此,創建一個40 * 40或50 * 50 9-補丁背景圖像,然後將其設置在按鈕內。

欲瞭解更多關於Draw 9-patch工具的信息,請點擊上面的鏈接。 而 這裏是到目前爲止我發現最好的例子:http://www.dibbus.com/2011/03/9patch-images-in-android/

的實施例9的貼劑圖形(從上面的例子鏈路兩者):

enter image description here

enter image description here

+0

謝謝,我會試試這個,希望圓形圖像能夠最終顯示出來。 – Graham

+0

爲了記錄,我通過使圖標稍大於50dip來解決它,所以android會將它們壓縮一點。我懷疑對於具有傾角尺寸的對象,圖像應該大於對象大小,否則android會擴大它們,並且此擴展可能產生了「像素化」。 – Graham