2013-12-09 136 views
0

幾周前我開始編寫Android應用程序。首先,非常感謝這個論壇的所有成員。許多帖子幫助我解決了我的應用程序問題。但現在,我遇到了一個我無法處理的問題,我沒有找到答案。Android剛加載默認佈局

那麼,是什麼問題:

在我的應用我想顯示一種表。在我的主要測試設備上,一切都很合適。但是當我在AVD上嘗試應用時,我發現屏幕較小,文本大小(以dp爲單位)要大,系統會創建第二行來顯示所有字母。因此,我決定爲四種不同類型的屏幕尺寸創建自己的佈局,並使用四種不同的文字尺寸。

根據http://developer.android.com/guide/practices/screens_support.htmlhttp://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch和互聯網上的許多其他帖子,系統自動選擇正確的佈局。

但我斷言,它沒有。系統始終加載默認佈局。我不明白爲什麼。當我刪除默認的訂單時,即使在我的Galaxy Note 2上,它也會加載小的佈局。而在屏幕最小的AVD上,應用程序在啓動時會出現錯誤而關閉。然而,正常佈局最小的屏幕上運行...

我甚至試過這種支持的佈局,但沒有成功: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true"/>

每個XML文件具有相同的名稱。 th文件夾被命名爲'佈局','佈局小','佈局大'和'佈局x大'。

任何人都可以幫助我嗎?我想,我只是錯過了一個小動作...

回答

0

它可能是更多的密度大小。爲什麼不嘗試按大小分隔,使用ldpi,mdpi,hdpi和xhdpi?

+0

謝謝您的回答,但看到我對DShaw的回答評論請。 – Daniel

1

我不認爲你想'佈局','佈局小','佈局大'和'佈局X大'。雖然這些確實存在,但它們具有通用性,並且行爲並不明確。參見下表:

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

您使用的大小,而不是密度。嘗試這些替代:`

ldpi Resources for low-density (ldpi) screens (~120dpi). 
mdpi Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.) 
hdpi Resources for high-density (hdpi) screens (~240dpi). 
xhdpi Resources for extra high-density (xhdpi) screens (~320dpi). 

得到的文件夾是layoutlayout-ldpilayout-hdpi等,這是我怎麼一直在做它和它的作品。

+0

完美。非常感謝! – Daniel

+0

不幸的是,它不如我想象的那麼完美... 如果我想象一個屏幕1,其分辨率爲480x800,密度爲160dpi,屏幕2的分辨率爲480x800,密度爲240dpi,screen1上的文字大小爲更小,儘管屏幕更大...... 但我需要的是,文字大小與屏幕尺寸的增長。所以,我認爲,我將通過分離成小的,正常的,大的和xlarge佈局來實現這一點。 – Daniel