解決方案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,若是是橫屏變豎屏生命週期方法不會被回調!