2012-10-22 23 views
4

這裏有一個很新的問題,但我無法在網上或書中找到明確的答案。我正在設計一款應用程序,以兼容所有尺寸的Android設備,並且我想在我的應用程序中顯示圖像。據我所知,android會自動縮放圖像以適應所顯示屏幕的分辨率。在Android應用程序開發中使用圖像

我的問題是我在使用的圖像中尋找什麼?例如。我有一張2418 x 2192 @ 240dpi的圖片。據我所知,這應該是一個更大的屏幕,如平板電腦的完美。如果我把它放到我的項目中的xhdpi圖像文件夾中,它會被其他設備檢測到並縮放以適合其尺寸/分辨率?我是否必須在Photoshop中創建3個不同版本的此圖像並將其放入相關的dpi文件夾中?

我無法找到一個很好的初學者教程這個東西,所以不知道我在做什麼!

回答

2

這是開始多屏幕尺寸支持的最佳場所:

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

簡短的回答是肯定的,您可以根據分辨率放置圖像在不同的目錄和Android將選擇圖像根據設備的屬性使用。您應該製作一組較小的圖像,例如,用於mdpi和hdpi。你不必「這樣做,如果你只是將圖像放入drawable中,它可以縮小,但這通常不是最好的方法。

+0

我一直在尋找你指出的資源,並且我理解需要調整大小,但是沒有關於圖像應該具有除dpi之外的基本特徵的指南。預算設備爲120dpi,高分辨率設備爲240dpi。然而,這些圖像的尺寸應該是多少?我無法理解它! – adohertyd

+0

這取決於您希望圖像在屏幕上有多大。以下是討論它的文章中的相關部分: 「要爲不同密度創建替代位圖可繪製,您應該遵循4個廣義密度之間的3:4:6:8縮放比例。例如,如果對於中等密度屏幕(尺寸爲發射器圖標),您有一個可繪製爲48x48像素的位圖,則所有不同的尺寸應爲: 36x36對於低密度 48x48對於中等密度 72x72對於高密度 96x96對於超高密度「 – ajpolt

+0

這可能是一個愚蠢的問題,但如果我的原始圖像是48x48,我將它縮放到96x96不會是非常低的質量嗎?當然,最好是有一個96x96的圖像開始和縮小? – adohertyd

2

這是幾乎所有項目都要處理的事情,因爲那裏只有很多Android設備。 This resource對我有很大的幫助。

如果您只有一個文件夾中的資源,Android會爲您縮放。不同的可繪製文件夾旨在讓開發人員以最小的努力提供適當縮放的圖像。例如,除了「標準」mdpi映像外,您還需要提供xhdpi以使資產在高分辨率設備上看起來更好。即使您只提供單個圖像,該應用程序也可以在所有分辨率下正常工作(並可縮放圖像)。但是,如果您提供了一個xhdpi drawable,那麼縮小所有這些圖標會有一些開銷,特別是對於圖標,結果可能看起來不太好(甚至無法識別)。

我通常會爲mdpi和xhdpi提供資產,但如果應用程序在低分辨率設備上經常使用,我也會提供ldpi。如果可能的話,我包括所有四個。

注意:您提到的圖像太大而不能包含在UI資源中,並且可能最好放置在資產中並根據請求加載。即使在xhdpi設備上,它也必須縮小比例。

+0

謝謝你的回覆。什麼會被認爲是一個'好形象'呢?我知道我引用的圖片非常大。我應該尋找什麼尺寸?如果我想要一張適合Galaxy Tab 10.1平板電腦,Galaxy SII和HTC Wildfire的圖像。這將需要3個不同版本的相同圖像正確嗎?每個尺寸應該大致是多少?就像我說的,真的失去了這個東西。 – adohertyd