12

喂,Android小工具Bitmap大小

我寫一個小部件,但我不確定爲每個屏幕分辨率/密度背景使用什麼尺寸的位圖。

按照Android Developer App Widgets教程:

To find your minimum width and height in density-independent pixels (dp), use this formula: 
(number of cells * 74) - 2 
Following this formula, you should use 72 dp for a height of one cell, 294 dp and for a width of four cells 

所以,如果我的小部件是72dp X 294dp,什麼尺寸的位圖,我需要爲我的LDPI,MDPI和HDPI可繪製?

此外,我需要我的清單中的任何特定支持屏幕設置?

TIA,

-Frink

更新: 我做了各種尺寸和顏色卻有些棋盤圖案的每個文件夾drawable-並試圖出來。這個密度的東西有點像紅鯡魚嗎?

我剛剛完成了一個以HVGA,中等密度,320x480運行的模擬器的屏幕截圖。我的小部件佔用的大小是320x100,因此我在mdpi文件夾中創建了一個320x100位圖,作爲我的小部件的背景,在我的模擬器和LG GT540上看起來都很完美。

而對於仿真器運行WVGA854,高密度,480x854。我的小部件的大小是480x150。在此模擬器上正確創建背景大小並將其放置在hdpi文件夾中。我沒有硬件來測試這對壽:-(

UPDATE2: 我想我可以更好地解釋我的問題,現在:-)

如果我有三個設備:

Device1, resolution 320x480, density ldpi 
Device2, resolution 320x480, density mdpi 
Device3, resolution 400x854, density mdpi 

物理屏幕的大小可能都會有所不同,但我不認爲實際大小問題

我已經計算出Device1和Device2將需要320x100的背景,而Device3將需要400x150 所以什麼是s ize背景進入mdpi文件夾,在Device2和Device3上正確顯示?

+0

我也有興趣在回答。我的小部件是單個單元格,我使用的圖像大小是72px,100px和150px的正方形。這些只是猜測,所以我會很有興趣知道「官方」的數字。 – 2011-01-08 23:59:44

+0

爲了響應您的更新,它聽起來像是在工作,對吧?還是有問題?另外,當你啓動你的模擬器時,有一個設置(或者可能在模擬器設置中)來將模擬器擴展爲「真實」尺寸,這可能會幫助你測試。 – Computerish 2011-01-17 18:38:45

+0

電腦 - 請參閱Update2! 我正在看我的模擬器'真實'的大小,ta – FrinkTheBrave 2011-01-18 12:28:44

回答

9

您只需要將72dp x 294dp轉換爲ldpi,mdpihdpi的實際像素大小。這一過程在此說明:

http://developer.android.com/guide/practices/screens_support.html

的公式爲pixels = dps * (density/160),所以在你的情況下,72 DP X 294 DP將等於:

  • LDPI(120):54 X 221個像素
  • MDPI(160):72 X 294像素
  • HDPI(240):108 X 441像素
  • xhdpi(320):144 X 588個像素

更新以響應您的第二次更新:基於密度的資源旨在確保圖形跨設備的(大致)相同的實際大小。不過,就你而言,你並不關心實際的大小,而是關心填充它應該爲小部件填充的任何空間的背景。您應該能夠通過創建Nine Patch圖像來處理大多數背景的此問題。 Nine Patch將根據所需的尺寸進行縮放。

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

http://developer.android.com/guide/developing/tools/draw9patch.html