美文网首页
java.lang.IllegalStateException:

java.lang.IllegalStateException:

作者: 程序员大耳 | 来源:发表于2019-01-28 22:10 被阅读11次

    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  <item name="android:windowIsTranslucent">false</item>

    3、再加入<item name="android:windowDisablePreview">true</item>就搞定了。

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

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

    相关文章

      网友评论

          本文标题:java.lang.IllegalStateException:

          本文链接:https://www.haomeiwen.com/subject/navzjqtx.html