Only fullscreen activities can request orientation终极解决方法

导致这个bug的原因这里就不描述了,网上很多。
看了几篇文章后,有说改style的,有通过反射取消屏幕方向的。
我这个方法更简单,增加一个类就完了,不用改其他代码逻辑。

(应该一看就懂了)

BaseActivity的代码

public abstract class BaseActivity extends AppCompatActivity {
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        if(isSetOrientation())  //默认每个activity都设置成竖屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        super.onCreate(savedInstanceState);
    }

    protected boolean isSetOrientation() {
        return true;
    }
}

8.0全屏透明的Activity,继承下面这个类就行了

/**
不想指定方向的Activity,继承这个类就行了
*/
public abstract class BaseFullScreenActivity extends BaseActivity {
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected boolean isSetOrientation() {
        return false;
    }
}

你可能感兴趣的:(Only fullscreen activities can request orientation终极解决方法)