如何处理方向变化容易(How to handle orientation change easily

2019-06-26 08:55发布

我工作的一个Android应用,programmaticaly增加了每个视图。 当用户开启屏幕,我只是想被填入再次显示的值。
有一个简单的方法,让Android的做到这一点automaticaly?

我的应用程序是完全动态的,所以它好好尝试具有预定的布局,这使得它有很多困难。

所以,我怎么能轻松保存我的屏幕的状态?

Answer 1:

每次方向变化,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();
    }
  }

不要忘了在AndroidManifest.xml中这样来编辑相应的元素,包括android:configChanges

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">


文章来源: How to handle orientation change easily