【Android】解決Android橫豎屏切換數據丟失問題的方法

解決方案1:在Androidmanifest.xml的activity標籤中加入android:screenOrientation="portrait",能夠屏蔽橫屏java

<activity android:name=".MainActivity" android:screenOrientation="portrait"
            >
</activity>

screenOrientation有以下選項:android

1.unspecified 默認值,由系統判斷狀態自動切換字體

2.landscape 橫屏spa

3. portrait 豎屏code

4.user 用戶當前設置的orientation值xml

5. behind 下一個要顯示的Activity的orientation值blog

6. sensor 使用傳感器 傳感器的方向生命週期

7. nosensor 不使用傳感器 基本等同於unspecified事件

 

解決方案2:在Androidmanifest.xml的activity標籤中加入android:configChanges="orientation|keyboardHidden|screenSize"ci

<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize"
            >
</activity>

configChanges屬性能夠設置多個值,中間使用豎線分割;

1. orientation 屏幕在縱向和橫向間旋轉

2.keyboardHidden 鍵盤顯示或隱藏

3.screenSize 屏幕大小改變了

4.fontScale 用戶變動了首選的字體大小

5.locale 用戶選擇了不一樣的語言設定

 

6.keyboard 鍵盤類型變動,例如手機從12鍵盤切換到全鍵盤 7.touchscreen或navigation 鍵盤或導航方式變化,通常不會發生這樣的事件

 

以前網上查到不少都是說設置了「orientation「和」keyboardHidden」屬性,可是效果並無用,須要增長設置screenSize三個值才行。

若是隻設置」orientation|screenSize」,會發生豎屏變橫屏生命週期會有先銷燬後從新onCreate,若是是橫屏變豎屏生命週期方法不會被回調!

相關文章
相關標籤/搜索