2013-03-06 175 views
0

我已經開發了一個Android應用程序與詳細的資源結構爲:我的文件夾drawable-hdpi內我在高分辨率的所有圖像和事後我創建的佈局,爲不同的屏幕分辨率爲layout-hdpilayout-largelayout-xlarge和其他一些。Android應用屏幕分辨率問題

我沒有得到高分辨率的模擬器如Nexus 710.1 WXGA(Tablet)7.1 WSVGA(Tablet)等的準確佈局......它沒有把我的精確設計對於那些屏幕尺寸,它總是請參閱「佈局」,而比layout-xlarge

有誰知道爲什麼我的單獨佈局沒有被使用?

+0

你使用'Linear Layout'嗎? – Nezam 2013-03-06 05:03:12

回答

0

在您想要的地方使用您的字段,例如圖像,文本視圖或編輯文本。 在每個佈局中清楚地對齊它們。

layout for the normal mobiles devices(mdpi) 
layout-large for the hdpi devices like nexus 
layout-xlarge for the xhdpi devices like tablets 

我們可以知道你的問題很明顯,如果您發佈的代碼,這將是一個好很多。

創建一個drawable文件夾並放置圖像。

2

使用layout-large,不再推薦layout-xlarge。谷歌稱使用sw *佈局來定位平板電腦。

例如,要定位7英寸平板電腦,請將佈局放置在layout-sw600dp之間。對於10英寸的平板電腦,請將它們放入layout-720dp

唯一的例外是針對有問題的設備,例如運行android 2.x的原始星系標籤,由於佈局分辨率的錯誤,您需要創建一個名爲layout-xlarge-land的文件夾並將佈局放置在那裏。

此外,不要只有高分辨率的圖像和轉儲他們在hdpi。正確地縮放圖像並將它們放入mdpi,hdpi,xhdpi等。

大多數情況下,這會導致應用程序的加載時間更快,並且APK尺寸更小,因爲您未捆綁「高分辨率圖像「,並根據請求讓框架按比例縮放圖像。由於位圖存儲在java堆中,所以包中未優化的圖像也會帶來內存使用的後果。在androidmanifest文件

<supports-screens android:resizeable=["true"| "false"] 
       android:smallScreens=["true" | "false"] 
       android:normalScreens=["true" | "false"] 
       android:largeScreens=["true" | "false"] 
       android:xlargeScreens=["true" | "false"] 
       android:anyDensity=["true" | "false"] 
       android:requiresSmallestWidthDp="integer" 
       android:compatibleWidthLimitDp="integer" 
       android:largestWidthLimitDp="integer"/> 

+0

我不能滿足這一點。 *這是*正確的答案。 – kcoppock 2013-03-06 05:28:52

0

認沽屏幕標籤這有助於與保持兼容multipal設備上運行我們的代碼。