Android 屏幕方向以及UI界面状态的保存
16lz
2021-01-23
屏幕方向以及UI界面状态的保存
首先,基于android studio,先将虚拟手机的屏幕自动翻转打开
1.设置屏幕锁定
在Androidmanifests.xml文件中,设置 android:screenOrientation=“protrait"或"landscape” ,锁定屏幕竖直或水平。
2.创建横向布局文件的副本
create landscape variation
3.屏幕翻转或home键暂停activity保存数据
利用onCreate(Bundle savedInstanceState)方法里的savedInstanceState参数传递数据
- 先利用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变量中 }
- 在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 禁止屏幕旋转 & 屏幕旋转不刷新 Activity & 动态更改屏
- Android 下通过jni读取i2c数据
- Android动态刷新listview中的数据
- android使用全局变量传递数据
- 如何使用 sqlite3 访问 Android 手机的数据库
- Android中使用代码控制Wifi及数据连接网络开关
- android下的数据存储