[英]layout-land not picking landscape layout xml
我想為風景和肖像設計不同的布局。 但兩個方向最終都使用相同的布局xml。 我已經在StackOverflow上找到了十幾個問題,但沒有一個能解決我的問題。
在布局下,我有一個activity_main.xml
文件。 我有不同橫向布局的文件夾,如本答案所述:
layout/
activity_main.xml
layout-land-hdpi/
activity_main.xml
layout-land-ldpi/
activity_main.xml
layout-land-mdpi/
activity_main.xml
layout-small-land-ldpi/
activity_main.xml
它們具有相同的activity_main.xml
文件,但背景顏色不同。
我沒有在AndroidManifest.xml中為Activity設置android:configChanges
。 我沒有覆蓋onConfigurationChanged()
因為我沒有手動處理方向更改。
我在項目中使用actionbarsherlock庫。 我使用ActionBar Sytele Generator制作了動作欄主題。
AndroidManifest.xml中的minSdk和TargetSdk:
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="17" />
我在運行Android 4.3(Galaxy Nexus),Android 4.2.2(Nexus 7)和Android 2.3.3(Nexus S)的Emulators上運行代碼。 結果完全相同。
我有什么不對的嗎?
謝謝!
你這是錯誤的方式。 文件夾layout
和layout-land
應該在同一水平上。
你需要res/layout
和res/layout-land
。
res
|_ layout
|_ layout-land
|_ layout-...
|_ layout-...
因此,您的設置應如下所示:
res
|_ layout
|_ activity_main.xml
|_ layout-land-hdpi
|_ activity_main.xml
|_ layout-land-ldpi
|_ activity_main.xml
|_ layout-land-mdpi
|_ activity_main.xml
|_ layout-small-land-ldpi
|_ activity_main.xml
您必須以這種方式將所有layout-land文件夾定義到res文件夾而不是layout文件夾:
res/layout-land
不像你那樣做
res/layout/layout-land
可能是您的手機屏幕密度是xhdpi,您沒有保留文件夾。 還要為layout-land-xhdpi保留一個文件夾並嘗試。 你還應該保持layout-land-xxhdpi。
或者你可以只有布局土地
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.