簡體   English   中英

布局 - 土地不采摘景觀布局xml

[英]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上運行代碼。 結果完全相同。

我有什么不對的嗎?

謝謝!

你這是錯誤的方式。 文件夾layoutlayout-land應該在同一水平上。

你需要res/layoutres/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM