今天写一个页面的时候发现 progressdialog不停的报错,后来发现是onCreate了两次,导致第一次pd显示后activity重建导致报错,为会么会两次呢,想到activity使用了强制横屏,那么问题就清楚了。
在安卓中要强制使整个应用的页面都是横屏有两种方法:
在代码中使用setRequestedOrientation 那么注意了,这里的坑就来了,如果你此时的屏幕是竖着的,那么它会先oncreate然后再横屏,如果你在配置文件上中没有注明android:configChanges = "orientation|screenSize" 那么这个时候就会再ceate一次了,这就是坑!!
所以正确的姿势是
- 要么在代码中setRequestedOrientation 然后再在配置中写明
android:configChanges = "orientation|screenSize"
保证不重建。
- 直接一句话,在配置清单中
android:screenOrientation="landscape"
显而易见,第二种最好啦。
还要注意,在主题文件中设置android:screenOrientation="landscape"是不起作用的喔!