簡體   English   中英

Android屏幕方向使用不同的xml(切換/旋轉屏幕橫向和縱向)

[英]Android screen orientation use different xmls (switching/rotating screen landscape and portrait)

我想開發一個用於縱向和橫向模式的完美屏幕設計的android應用程序。 並且必須向用戶提供屏幕定向功能。 更改設備的屏幕方向時如何更改應用程序的兩個xml文件?

不要添加android:configChanges="orientation"它會停止重新進行活動,最終使您無法使用verticalhorizontal布局。

在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.

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