当前位置:首页 > android 横竖屏切换后,界面会重置的解决方法

android 横竖屏切换后,界面会重置的解决方法

点击次数:2792  更新日期:2015-12-29

当屏幕转动切换的时候 Android 机制是:

销毁当前屏幕的 Activity ,然后重新开启一个新的适应屏幕改变的 Activity 。

那么,我们该如何在屏幕切换的时候页面信息不被重置呢?

解决实现:

1.在 AnroidMainifest.xml 的 activity 元素中加入:

代码如下:

android:configChanges="orientation|keyboardHidden"

注意:android4.0以上需加入

android:configChanges="orientation|keyboardHidden|screenSize"

<activity

    android:name="com.example.dcny.MainActivity"

    android:label="@string/app_name"

    android:configChanges="orientation|keyboardHidden|screenSize"

    android:launchMode="singleTask" >

</activity>


2.权限声明:


<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>


3.在 Java 源代码文件中重写 Activity 中的 onConfigurationChanged 方法:


@Override

    public void onConfigurationChanged(Configuration newConfig) {

         super.onConfigurationChanged(newConfig);

          if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_LANDSCAPE) {

               // land donothing is ok

          } else if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {

               // port donothing is ok

          }

    }