2011-05-16 96 views
0

我認爲我已經安靜了一個關於Android開發的常見問題,但似乎找不到我正在尋找的答案。Android,帆布和屏幕

如果我在Photoshop 800x480px(240ppi)上製作一個畫布並在該畫布中製作一個282 x 121px的徽標,我無法理解爲什麼當我顯示圖像時它佔用了仿真器3/4的屏幕相同的800x480px。

我用標識顯示的代碼如下

Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.logo); 

//in the onDraw 
canvas.drawBitmap(logo, 0, 0, null); 

提前感謝!


可能的解決方案

不知道這是做事情的最佳方式,並會任何並欣賞反饋,我碰到這個解決方案來(通常當你已經發布了一個問題:d)如下的代碼圖像:

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inScaled = false; 

//Load images 
logo = BitmapFactory.decodeResource(getResources(), R.drawable.logo, options); 

回答

1

的圖像很可能只佔據屏幕3/4的仿真器,因爲預分頻的Android有時做。

檢查出this article關於如何處理多種分辨率和屏幕尺寸。

您可以嘗試將drawable放到'res/drawable-mdpi /'目錄或'res/drawable-ldpi /'中以區分中密度和低密度屏幕。另一個選擇是將它放在'res/drawable-nodpi /'目錄中以防止任何預縮放。我甚至在'res/raw'文件夾中放置了一些圖像以獲得相同的效果。

但是,如果您目前的方法有效,那就去吧!

+0

是的,這就是我認爲,但它似乎做的伎倆(以上的解決方案)陌生人比小說:) – Stevanicus 2011-05-17 07:17:11