Android 屏幕方向以及UI界面状态的保存

屏幕方向以及UI界面状态的保存

首先,基于android studio,先将虚拟手机的屏幕自动翻转打开


1.设置屏幕锁定

在Androidmanifests.xml文件中,设置 android:screenOrientation=“protrait"或"landscape” ,锁定屏幕竖直或水平。

2.创建横向布局文件的副本

create landscape variation

3.屏幕翻转或home键暂停activity保存数据

利用onCreate(Bundle savedInstanceState)方法里的savedInstanceState参数传递数据

  1. 先利用protected void onSaveInstanceState(@NonNull Bundle outState)方法(屏幕翻转或home键暂停时临时将数据保存起来)将数据以key-value形式保存。
protected void onSaveInstanceState(@NonNull Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("KEY",textView.getText().toString());  //抓取TextView内容保存到outState变量中
    }
  1. 在onCreate()方法中利用Bundle类型的savedInstanceState参数获取数据
    先判断savedInstanceState参数是否为空
if(savedInstanceState!=null){
            textView.setText(savedInstanceState.getString("KEY"));
        }

利用代码补全的onSaveInstanceState()是这样的

public void onSaveInstanceState(@NonNull Bundle outState, @NonNull PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
    }

翻转后会丢失数据,改成protected方法并去掉后面那个参数就可以

你可能感兴趣的:(Android)