2012-05-11 100 views
7

我在設計一個應用程序,我只是想知道如何在橫向模式下製作不同的佈局。我在res中創建了一個名爲「layout-land」的文件夾,並創建了一個xml文件,但在運行模擬器時它不起作用。我試圖稱它爲「主」,但它表示已存在,但它在「佈局」文件夾中。如果我稱之爲不同的東西,我需要改變清單中的某些東西嗎?謝謝您的幫助!Android景觀佈局

+0

沒有你在做什麼只是再次檢查文件夾和XML文件的拼寫再次.http://developer.android.com/guide/topics/resources/providing-resources.html#Compatibility – Akram

+0

不完全得到你的問題。但是android會自動更改方向更改的佈局,直到您不在活動中重寫onConfigurationChage。 –

回答

10

只是爲了澄清,如果你在橫向或縱向Android首先在-land目錄中尋找佈局文件,如果找不到,那麼它會檢查默認的layout目錄。你的文件應該被命名爲如下,將取決於在運行時對設備的當前配置的系統加載:

res/layout/main.xml 
res/layout-land/main.xml 

檢查的詳細信息,providing resources的文檔。

+1

謝謝,正如我說的,當我右鍵點擊layout-land文件夾並單擊新的android xml文件時,我無法將其命名爲「main」它表示已存在但它不在該文件夾中 –

+0

嗨rsay3, Alex實際上解決了你的問題嗎?我在做TheNewBoston教程並且遇到同樣的問題。我有佈局和佈局土地目錄。 layout-land ist爲空,如果我查看eclipse中的文件夾,它將正確映射到layout-land目錄。我仍然有這個問題。可能是一個月食錯誤。我必須通過將文件從佈局複製到layout-land並刷新日蝕來解決它。 – Kurt

+0

@Kurt。你真的得到了什麼錯誤信息? –

1

你想要的文件夾結構是這樣的:

res\layout\main.xml 
res\layout-land\main.xml 

每個佈局應包含相同的元素,但重新排列,例如如果您在肖像風景中有一個帶有android:id="@+id/button1"的按鈕,則您需要在橫向模式下給出相同名稱的等效按鈕。

1

首先,你必須通過添加到您的清單

android:configChanges="orientation" 

然後你就可以覆蓋此功能,並使用的setContentView監聽confguration變化

public void onConfigurationChanged(Configuration newConfig) 
+0

該功能需要檢查什麼? – PankajAndroid