2014-01-17 68 views

回答

1

在res文件夾下創建另一個佈局文件夾layout-Land。 將所有橫向xml文件複製到該佈局-Land文件夾具有相同的名稱。 重新檢查所有肖像xml文件在佈局文件夾中。 添加 android:configChanges="orientation"到清單

<activity 
     android:name=".LoginActivity" 
     android:configChanges="orientation" 
     android:label="@string/app_name" 
     android:windowSoftInputMode="stateVisible|adjustPan" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

cheerz

2

不添加android:configChanges="orientation"它會停止活動的娛樂,最終沒有讓你有verticalhorizontal佈局適用。

-1

添加清單文件,該代碼在活動標籤:

對於風景模式:

<activity android:name="MyActivity" 
android:screenOrientation="landscape" 
android:configChanges="keyboardHidden|orientation|screenSize"> 
</activity> 

對於人像模式:

<activity android:name="MyActivity" 
android:screenOrientation="portrait" 
android:configChanges="keyboardHidden|orientation|screenSize"> 
</activity> 
1

只是讓另一個佈局並把它放在你的layout-land夾。您的結構應該是這樣的:

res/ 
    layout/ 
     my_layout.xml #will be used in portrait 
    layout-land/ 
     my_layout.xml #will be used in landscape 

不要添加爲建議android:configChanges屬性 - 作爲@nitin說,這將防止您的Activity被重建,你就必須做一些額外的工作來處理資源交換。當您創建了Activity並創建了版式(例如setContentView(R.layout.my_layout.xml))時,它將根據方向解析正確的版式資源。