Android 8.1横屏界面与竖屏界面跳转产生屏幕旋转的问题

问题:从A(PORTRAIT)打开B(LANDSCAPE),然后,又从B finish 到 A。 A会执行两次重载。切换两次屏幕(竖,横,竖)。

原因:从B返回时,系统仍然调用B的横屏状态,此时A会显示为B界面退出时的状态,即横屏状态,由于A界面设置为PORTRAIT,所以之后A会由竖屏切换为横屏在切换为竖屏。

1.在配置文件AndroidManifest.xml中添加如下代码:

        <activity
            android:name="AActivity"
            android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
            android:screenOrientation="portrait" />
        <activity
            android:name="BActivity"
            android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
            android:screenOrientation="portrait" />

2.在BActivity中的onDestroy()中添加如下代码:

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //解决切换到上个界面后,横竖屏多次切换的问题
        if (android.os.Build.VERSION.SDK_INT >= 27) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
        }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值