Android横竖屏切换,A(竖)切B(横)返回后,A先横,再变竖屏,解决办法

在做需求时,发现部分设备(联想平板),从竖屏界面A跳转到横屏界面B再返回,竖屏界面A会先跳转横屏再返回竖屏。测试发现小米的设备不会有此问题(可能是rom做了兼容),然后发现增加一下代码可以解决此问题。

在启动界面B的时候,获取一下当前的屏幕方向,通过Intent存在ActivityB里面。
然后在界面B的onDestory时,重新设置一下屏幕方向。

private int fromOrientation;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        fromOrientation = getIntent().getIntExtra("fromOrientation", ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}

 @Override
    public void onDestroy() {
        super.onDestroy();
        if (fromOrientation != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
            setRequestedOrientation(fromOrientation);
        }
    }

你可能感兴趣的:(Android基础)