美文网首页
Only fullscreen opaque activitie

Only fullscreen opaque activitie

作者: 陈桐Caliburn | 来源:发表于2020-03-19 13:57 被阅读0次

问题原因

安卓8.0版本时为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明)。然而这个bug只有在8.0中有,8.1中已经修复

        if (getApplicationInfo().targetSdkVersion > O && mActivityInfo.isFixedOrientation()) {
            final TypedArray ta = obtainStyledAttributes(com.android.internal.R.styleable.Window);
            final boolean isTranslucentOrFloating = ActivityInfo.isTranslucentOrFloating(ta);
            ta.recycle();
 
            if (isTranslucentOrFloating) {
                throw new IllegalStateException(
                        "Only fullscreen opaque activities can request orientation");
            }
        }

解决方案 :
1、把方向省掉(建议这种方式)
2、改为不透明
3、反射方式不建议
4、改target版本

相关文章

网友评论

      本文标题:Only fullscreen opaque activitie

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