2014-09-02 191 views
2

我完成了開發(應用程序部分)我的項目的應用程序,但現在我遇到了佈局問題。我創建下列文件夾和編輯XML文件: 佈局(默認) 佈局大 佈局正常 佈局小 佈局XLARGE針對不同屏幕尺寸的不同佈局

在我的智能手機(Galaxy S的前進 - 屏幕800×480),佈局是好的,同事的智能手機(HTC MINI ONE - 屏幕720x1280)的應用程序還沒有得到適當的佈局。在這兩種情況下(我的智能手機和同事的智能手機),android加載佈局正常。

怎麼回事?

謝謝

+0

它更好地使用[LinearLayout](http://developer.android.com/guide/topics/ui/layout/linear.html)與[weight](http://developer.android.com/reference/ android/widget/LinearLayout.LayoutParams.html#attr_android:layout_weight) – kId 2014-09-02 07:45:40

回答

0

正如你提供佈局,大的佈局正常佈局小布局XLARGE 4佈局類。佈局文件夾(沒有任何限定符)將是無用的。所有設備將落入其他4個屏幕桶中。

從你的描述,我想你應該從資源中刪除佈局正常的文件夾。

此外,正常,大和其他兩個只是「範圍」。如果你想在屏幕尺寸更精確的控制,你可以使用layout-sw

+0

感謝您的回覆。我刪除了佈局文件夾和佈局 - 普通文件夾,但我遇到同樣的問題。 – user1410756 2014-09-02 07:37:33

+0

嘗試在文件夾佈局-sw720中放置您想要的HTC MINI ONE佈局。這應該工作。和一個很好的指導是http://developer.android.com/guide/practices/screens_support.html – suitianshi 2014-09-02 07:41:03

+0

感謝您的答覆,但我有與Galaxy S3相同的問題,我想找到一個解決方案,我不想創建多個文件夾(一個用於屏幕尺寸)。 – user1410756 2014-09-02 07:50:30

0

請爲您的應用程序Besouse佈局文件夾中刪除loyout文件夾將是無用的

Galaxy S的前進 - 屏幕800X480佈局,華電國際

對於具有720×1280分辨率的設備,你可以使用佈局W720-h1280文件夾

+0

感謝您的回覆。我的應用程序將運行在所有的Android設備上,所以我必須找到一個解決方案。例如,現在我嘗試在Galaxy S3上使用我的應用(屏幕:360x640),並且我有佈局問題。 – user1410756 2014-09-02 07:39:54

2

您可以創建不同的佈局對不同屏幕的寬度,而不只是建立小型和大型dpi文件夾,在這個方法中,你只會有一個drawable文件夾包含所有的資源和多layout文件夾中,最主要的一個叫做佈局,幷包含以運行的情況下,指定的佈局也沒有發現它在另一個佈局文件夾的默認佈局,並在android developers page描述的文件夾層次結構將如:

res/layout/main_activity.xml   # For handsets (smaller than 600dp available width) 
res/layout-sw600dp/main_activity.xml # For 7」 tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10」 tablets (720dp wide and bigger) 

和例如,如果你想定製的佈局,以340dp屏幕的寬度,將創建layout-sw340dp文件夾內的res文件夾,因此,它會像

res/layout-sw340dp/main_activity.xml 

,程序會自動根據設備寬度將佈局按比例分配到相應的文件夾。

2

請注意佈局的屏幕密度。儘管將佈局文件放在適當的佈局容器中,但並不意味着Android會尊重文件夾,因爲密度在Android選擇正確的layout.xml文件的方式方面也起着重要作用。

任何設備小於5英寸將屬於sw320dp類的解決辦法是再創建一個名爲layout-sw320dp-ldpilayout-sw320dp-mdpilayout-sw320dp-hdpilayout-sw320dp-xhdpilayout-sw320dp-xxhdpi單獨的文件夾,並把相應的XML文件,在其中。

同樣,您可以使用其他屏幕尺寸,如layout-sw600dplayout-sw720dp等,屏幕密度以上。

+2

到目前爲止的最佳答案,謝謝你bhai你解決了我的問題,並節省了很多時間從浪費已經浪費了一些..! :) – 2015-06-21 09:08:23

+0

@arif,如果我們正在構建一個3.2以上的應用程序,那麼沒有使用默認的layout.xml對嗎?即layout-ldpi,layout-mdpi等。 – 2015-09-09 09:03:09