Android 如何轻松处理方向变化
我正在开发一个android应用程序,它添加了每个视图程序。 当用户打开屏幕时,我只想再次显示填写的值。Android 如何轻松处理方向变化,android,orientation-changes,Android,Orientation Changes,我正在开发一个android应用程序,它添加了每个视图程序。 当用户打开屏幕时,我只想再次显示填写的值。 有没有一个简单的方法让Android自动完成这个任务 我的应用程序是完全动态的,所以它没有预先确定的布局,这使得它更加困难 那么,如何轻松保存屏幕状态呢?每次方向改变,android都会创建新视图并销毁旧视图。可以在方向更改时保存数据,并在创建新视图时重新初始化 使用活动的onConfiguration Changed方法检测方向更改 public void onConfigurationC
有没有一个简单的方法让Android自动完成这个任务 我的应用程序是完全动态的,所以它没有预先确定的布局,这使得它更加困难
那么,如何轻松保存屏幕状态呢?每次方向改变,android都会创建新视图并销毁旧视图。可以在方向更改时保存数据,并在创建新视图时重新初始化 使用活动的
onConfiguration Changed
方法检测方向更改
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();
}
}
不要忘记像这样编辑AndroidManifest.XML中的适当元素,以包含android:configChanges
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
有关Hein正确答案的详细解释,请参阅我之前的帖子:
为什么不修复方向?通常,EditBox等小部件会保存其状态,包括方向更改时的值