2012-05-25 25 views
1

在我的應用程序中,對於相對佈局的背景,我有一個非常大的網格壁紙(比任何手機/桌面屏幕都大)。所以,我想知道,而不是讓android調整它,讓它看起來很糟糕,我可以自己調整它。我想要做的是調整圖像大小(垂直和水平方向),直到圖像和屏幕的高度相匹配。Android-重新調整圖像以匹配屏幕的高度

感謝所有幫助appreciated- Lijap

+0

使用imgview.setScaleType(ScaleType.FIT_XY); –

回答

2

這個問題的解決是什麼谷歌已經投入了非常大量的精力。

基本上,您應該爲每個目標尺寸/佈局創建不同的尺寸。

這已在Google Dev Guide documents for Supporting Multiple Screens

廣泛的解釋(好多比我能給)在這個頁面:

屏幕尺寸

實際物理尺寸,在屏幕的對角線測量。 爲簡單起見,Android會將所有實際屏幕尺寸分爲四種廣義尺寸:小尺寸,普通尺寸,大尺寸和超大尺寸。

屏幕密度

屏幕的物理區域內的像素的數量;通常稱爲dpi(每英寸點數)。

例如,與「正常」或「高」密度屏幕相比,「低」密度屏幕在給定物理區域內具有更少的像素。 爲了簡單起見,Android將所有實際屏幕密度分爲四種廣義密度:低,中,高和超高。

方向

但從用戶的角度,屏幕的方向。這是橫向或縱向,這意味着屏幕的寬高比分別爲寬或高。請注意,不同的設備默認情況下在不同的方向上運行,但是當用戶旋轉設備時,方向會在運行時更改。

分辨率

在屏幕上的物理像素的總數。當添加對多個屏幕的支持時,應用程序不會直接使用解決方案;應用程序應僅關注屏幕大小和密度,如廣義大小和密度組所指定。

密度獨立像素(DP)

定義UI佈局時,你應該使用來表達佈局尺寸或位置的密度無關的方式的虛擬像素。 與密度無關的像素相當於160 dpi屏幕上的一個物理像素,這是系統爲「中等」密度屏幕假設的基準密度。在運行時,系統根據使用的屏幕的實際密度,根據需要透明地處理dp單位的任何縮放比例。將dp單位轉換爲屏幕像素很簡單:px = dp *(dpi/160)。例如,在240 dpi屏幕上,1 dp等於1.5個物理像素。定義應用程序的用戶界面時,應始終使用dp單位,以確保在不同密度的屏幕上正確顯示您的用戶界面。

這樣,您的用戶將會看到與他們的設備大小相匹配的位圖。

如果您需要幫助理解文檔,或者如果這不能正確回答您的問題,請讓我知道。

+0

所以..通過我看到這一點:xlarge屏幕至少960dp x 720dp 大屏幕至少640dp x 480dp 正常屏幕至少470dp x 320dp 小屏幕至少426dp x 320dp所以這意味着對於ldpi等我應該使圖像的這些決議 – Lijap

+0

是的,這是正確的。所以你想爲你想要定位的每個尺寸創建單獨的位圖。這將允許您對模擬器中的每個設備或具有該佈局的設備進行測試。\ – Codeman

+0

好的,謝謝!但是,既然它說「至少」我應該讓圖像更大一點? – Lijap

相關問題