2011-09-05 75 views
0

我正在爲Android編寫遊戲,現在可以在第二個設備Nexus 1上測試它。遊戲使用固定的像素值,只是使用較大的背景設置爲高分辨率設備剪輯。所以我認爲這不會有問題。然而,不知何故,nexus 1正在製作比應該更大的特定圖像(261 * 66而不是174 * 44)。圖片本身作爲資源是174 * 44,所以它被拉長了。爲什麼?我能對付它呢?Android screen resoulution problem

編輯:

Spritesheet = BitmapFactory.decodeResource(res, 
     R.drawable.bird_spritesheet); 

是所用的代碼。

編輯2:

有沒有辦法告訴該軟件只使用尺寸的圖片是什麼?我不想通過添加多張圖片(/ drawable-hdpi/answer)來膨脹我的軟件。

在更大的屏幕上,圖片應該更小。

+0

「有沒有辦法告訴軟件只使用圖片的大小?」 - 它以「它認爲它是」的大小顯示它,但是因爲它是簡單的drawable或drawable-mdpi。這是給它一個屏幕區域設置爲較低的分辨率,這導致比預期的圖片更大。您可以手動設置我認爲較低的寬度和高度。但首選解決方案AFAIK將其放入正確的可繪製文件夾中。 – FoamyGuy

+0

好吧,它爲最後一個版本工作,爲什麼現在不工作? – SBoss

回答

2

什麼可繪製的文件夾給你有圖片?如果你把它的副本放在drawables-hdpi中,我認爲它會顯示實際大小。最好設置一些東西,比如像素最終的大小不重要。使用像素值將確保您的應用在至少某些屏幕尺寸上看起來錯誤。

+0

正確,對此問題的其他答案也是如此。但是我正在尋找的東西是別的:http://stackoverflow.com/questions/7330097/how-do-you-tell-android-not-to-scale-images – SBoss

0

由於Android在多種屏幕尺寸上運行,並且您使用與設備無關的像素(DIP),因此圖像會縮放以確保它們在所有設備上都看起來相同。爲了避免這種情況,您可以爲高密度屏幕(在您的情況下)和低密度屏幕提供替代資源。

More info about screens here