今天寫一個頁面的時候發現 progressdialog不停的報錯,後來發現是onCreate了兩次,導致第一次pd顯示後activity重建導致報錯,爲會麼會兩次呢,想到activity使用了強制橫屏,那麼問題就清楚了。
在安卓中要強制使整個應用的頁面都是橫屏有兩種方法:
在代碼中使用setRequestedOrientation 那麼注意了,這裏的坑就來了,如果你此時的屏幕是豎着的,那麼它會先oncreate然後再橫屏,如果你在配置文件上中沒有註明android:configChanges = "orientation|screenSize" 那麼這個時候就會再ceate一次了,這就是坑!!
所以正確的姿勢是
- 要麼在代碼中setRequestedOrientation 然後再在配置中寫明
android:configChanges = "orientation|screenSize"
保證不重建。
- 直接一句話,在配置清單中
android:screenOrientation="landscape"
顯而易見,第二種最好啦。
還要注意,在主題文件中設置android:screenOrientation="landscape"是不起作用的喔!