Android 8.1橫屏界面與豎屏界面跳轉產生屏幕旋轉的問題

問題:從A(PORTRAIT)打開B(LANDSCAPE),然後,又從A finish到B。 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);
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章