横竖屏切换

来源:互联网 发布:邓肯每年的季后赛数据 编辑:程序博客网 时间:2024/06/05 21:12
  1. 当activity在AndroidMainfest中不设置configChanges属性时,横屏切换竖屏、竖屏切换横屏时,Activity中回调的方法如下:
    这里写图片描述
    在这种情况下屏幕的切换不会自动保存原有的状态,但是可以通过在
    onSaveInstanceState中保存,在onRestoreInstanceState方法中获取之前保存的信息的方法回复屏幕中原状态,如保存edittext中的信息:
    (注:当edittext设置了id时,其会自动保存状态)
 @Override    protected void onSaveInstanceState(Bundle outState) {        super.onSaveInstanceState(outState);        Log.d(TAG,"onSaveInstanceState");        String str = mEditText.getText().toString();        if(!TextUtils.isEmpty(str)){            outState.putString(SAVE_MESSAGE, str);        }    }    @Override    protected void onRestoreInstanceState(Bundle savedInstanceState) {        super.onRestoreInstanceState(savedInstanceState);        Log.d(TAG,"onRestoreInstanceState");        String str = savedInstanceState.getString(SAVE_MESSAGE);        if(!TextUtils.isEmpty(str)){            mEditText.setText(str);        }    }
  1. 当在设置android:configChanges=”orientation”时,竖屏切换为横屏 回调的方法如下:
    这里写图片描述
    此时不会自动保存屏幕原有的状态

    横屏切换为竖屏回调的方法如下:
    这里写图片描述
    此时会保存屏幕原有的状态

  2. 当设置android:configChanges=”screenSize|orientation”时,横屏切换竖屏、竖屏切换横屏时,Activity中回调的方法均如下:
    这里写图片描述
    此时屏幕切换会保存其原有的状态

0 0