在Android8.0环境下,如果一个Activity在Manifest中设置了方向(横,竖屏),即android:screenOrientation=”landscape”/”portrait”,并且指定的android:theme中使用的style带有透明属性
<item name="android:windowIsTranslucent">true</item>
那么在启动该Activity的时候在onCreate()中就会抛出异常
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
解决方法为:
MainActivity设置android:windowIsTranslucent=false,然后指定屏幕方向,而其他activity则可使用android:windowIsTranslucent=true,然后设置android:screenOrientation=”behind”,这样就可以保持屏幕方向统一了。