java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

只有只有全屏不透明的activity才可以设置横竖屏方向,半透明/对话框等不可设置横竖屏。

这个是SDK8.0的系统Bug,之后的版本已修复。


解决办法其实很简单:

去掉 android:screenOrientation="portrait"

1、为了横竖屏的切换,添加一个 values-26 的文件夹,存放针对 Android8.0 以上手机的 style.xml。

2、将theme中的android:windowIsTranslucent改为false  false

3、再加入true就搞定了。

以上,就解决掉进入程序闪退,和横竖屏正常切换的问题了。

但是如果有需求固定横屏或竖屏呢,很简单,在 Java/Kotlin 代码的 onCreate 中设置 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

你可能感兴趣的:(java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation)