我見過可以爲活動指定兩個單獨的佈局xml文件的引用,一個用於縱向,一個用於橫向。我還沒有找到任何有關如何做到這一點的信息。如何爲每個活動指定哪個xml文件是縱向佈局,哪個是橫向佈局?如何爲縱向和橫向定義不同的佈局?
是否也可以爲不同的屏幕尺寸指定不同的佈局?如果是這樣,這是如何完成的?
我見過可以爲活動指定兩個單獨的佈局xml文件的引用,一個用於縱向,一個用於橫向。我還沒有找到任何有關如何做到這一點的信息。如何爲每個活動指定哪個xml文件是縱向佈局,哪個是橫向佈局?如何爲縱向和橫向定義不同的佈局?
是否也可以爲不同的屏幕尺寸指定不同的佈局?如果是這樣,這是如何完成的?
創建一個layout-land
目錄,並將橫向版本的佈局XML文件放在該目錄中。
你只要把它放在與根據方向和分辨率不同的名稱單獨的文件夾,設備會自動選擇合適的一個用於其屏幕設置
此處瞭解詳情:
http://developer.android.com/guide/practices/screens_support.html
「屏幕尺寸和密度的資源目錄限定詞」
僅適用於操作系統版本1.6或更高版本。如果你想支持1.5,你需要這個鏈接:http://developer.android.com/guide/practices/screens-support-1.5.html – 2011-09-19 14:13:52
@Silvio Donnini - 鏈接不再具有所需的信息。 – itsaboutcode 2012-09-10 02:05:35
@itsaboutcode是的,請執行以下操作:轉至「使用配置限定符」 – Danation 2012-11-02 18:11:35
或使用此選項:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Add your UI elements inside the inner most linear layout -->
</LinearLayout>
</ScrollView>
提醒您:
從android:configChanges
屬性,在清單xml
文件中刪除orientation
的活動,如果你定義它:
android:configChanges="orientation|screenLayout|screenSize"
創建一個新的目錄layout-land
,然後創建xml
文件同名在layout-land
,因爲它是layout
目錄並在那裏對齊您的內容的橫向模式。
請注意,xml
中的內容ID均相同。
這是否意味着如果我這樣做,所有活動都需要定義橫向和縱向視圖? – 2010-01-23 19:01:52
不,如果不存在佈局定義,它只是使用標準佈局目錄中的XML佈局。 – 2010-01-23 19:49:16
在我的情況下,layout-land不工作,當我使用,android:configChanges =「orientation | keyboardHidden | screenSize」 – 2014-02-11 06:53:33