Android横屏切换的问题

来源:互联网 发布:网络语言ru意思 编辑:程序博客网 时间:2024/06/06 02:44

Android横屏切换的问题涉及到两个方面:

布局加载的问题:

当手机横屏竖屏的时候,会因为手机宽高的改变,导致了布局显示的问题.解决的方案是:
1 对于横屏竖屏的情况下,分别建立目录:layout-land与layout-port来存放我们的布局.
2 然后在Activity的OnCreate方法中进行当前横屏竖屏的判断来加载相应的布局文件.

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){       Log.i("info", "landscape"); // 横屏  }   else if (this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {       Log.i("info", "portrait"); // 竖屏  }  

生命周期调用的问题:

在功能清单文件上配置

android:configChanges="orientation|keyboardHidden"

在版本2.3,不重新创建Activity.
在版本4.0, android:targetSdkVersion 小于12的时候,不创建Activity.

在 android:targetSdkVersion 大于12的时候,其调用的生命周期:

  onPause   onSaveInstanceState  onStop  onDestory  onCreate  onRestoreInstanceState  onResume

在功能清单文件上配置

android:configChanges="orientation|keyboardHidden|screenSize"

无论切换横竖屏,不创建Activity,都只会调用:

onConfigurationChanged  方法

重点: 屏幕旋转发生后的生命周期方法:

       onPause       onSaveInstanceState       onStop       onDestory       onCreate        onRestoreInstanceState       onResume
0 0
原创粉丝点击