Activity reloads when orientation changes in Android

前端 未结 2 1262
梦谈多话
梦谈多话 2020-12-19 17:32

When my main activity starts after the splash screen it parses 4 big XML files. This takes a few seconds and I\'m able to hide this in the time the splash screen shows at st

2条回答
  •  轮回少年
    2020-12-19 18:36

    add this code in your android manifest file in every activity node if you're targeting API level 12 or less.

    android:configChanges="orientation|keyboardHidden"
    

    For level 13 and onwards you also have to include "screensize", i.e.:

        android:configChanges="orientation|keyboardHidden|screenSize"
    

    now paste this code in your every activity's java classes.

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    
        // Checks the orientation of the screen
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
            Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        }
        // Checks whether a hardware keyboard is available
        if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
            Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
        } else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
            Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
        }
    }
    

提交回复
热议问题