如何轻松处理方向变化

Rob*_*met 3 android orientation-changes

我正在开发一个Android应用程序,它可以添加每个视图程序.当用户转动屏幕时,我只想要填写的值再次显示.
是否有一种简单的方法让Android自动执行此操作?

我的应用程序是完全动态的,因此它没有预先确定的布局,这使得它变得更加困难.

那么,我怎样才能轻松保存屏幕状态?

Hei*_*ein 6

每次定向更改,android创建新视图并销毁旧视图.您可以在方向更改时保存数据,并在创建新视图时重新初始化

使用onConfigurationChanged活动方法来检测方向变化

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();
    }
  }
Run Code Online (Sandbox Code Playgroud)

不要忘记在AndroidManifest.XML中编辑相应的元素,以包含 android:configChanges

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)