[英]Android screen orientation use different xmls (switching/rotating screen landscape and portrait)
我想開發一個用於縱向和橫向模式的完美屏幕設計的android應用程序。 並且必須向用戶提供屏幕定向功能。 更改設備的屏幕方向時如何更改應用程序的兩個xml文件?
不要添加android:configChanges="orientation"
它會停止重新進行活動,最終使您無法使用vertical
和horizontal
布局。
在res文件夾下創建另一個名為layout-Land的布局文件夾。 將所有風景xml文件復制到具有相同名稱的layout -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>
啦啦隊
只需進行其他布局,然后將其放在您的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)
,它將根據方向解析正確的布局資源。
在活動標簽的清單文件中添加以下代碼:
對於橫向模式:
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.