工作期间项目需要经常旋转屏幕,还有平板。所以会经常考虑Android 屏幕旋转生命周期,所以也有相应的处理方法。主要有两种办法解决。是根据屏幕旋转的生命周期具体使用。屏幕旋转时候,如果不做任何处理,activity会经过销毁到重建的过程。这种效果都不是想要的。

一、方法一

是在配置文件的activity加上这个

android:configChanges="keyboardHidden|orientation|screenSize" 这句话意思就是配置双引号里面参数意义,软键盘隐藏,方向,屏幕大小

Android 3.0以后要加上screenSize。

        <activity android:name="cn.com.karl.my.MySetNewsActivity"             android:configChanges="keyboardHidden|orientation|screenSize"> >        </activity>
然后activity重写下面方法。有什么需要在旋转时候做处理,也是写在这个方法里面。

//重写旋转时方法,不销毁activity@Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);}
看下图旋转的生命周期,这张图是出自一位博客的图片,在最后我会注明出处。

Android 屏幕旋转生命周期以及处理方法_第1张图片

二、方法二

不用在配置文件里写activity的配置。一切让它销毁在重建,只不过这过程中,把需要的,重要的值保存起来。重建后在取出来就行了。我不太赞成这样使用,资源没有充分使用。看看需要重写的两个方法。

@Overrideprotected void onSaveInstanceState(Bundle outBundle) {super.onSaveInstanceState(outBundle); outBundle.putBoolean("RoadChange", mChange);}@Override protected void onRestoreInstanceState(Bundle savedInstanceState) {super.onRestoreInstanceState(savedInstanceState);mChange = savedInstanceState.getBoolean("RoadChange");}
生命周期如下图:

Android 屏幕旋转生命周期以及处理方法_第2张图片
这篇博客参考Android屏幕旋转时Activity的生命周期。上面两张图片也是出自这篇博客。

转载请注明出处的博客网址: http://blog.csdn.net/qq_16064871
如有转载未注明出处博客网址,或者没有得到作者的同意。作者持有版权所有权。

更多相关文章

  1. Android实现在一个activity中添加多个listview的方法
  2. [置顶] Android 65K问题之Multidex原理分析及NoClassDefFoundErr
  3. Android最全面、最易懂的Android屏幕适配解决方案
  4. Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
  5. Android获取音视频原始流数据方法详解

随机推荐

  1. PHP用空格分割文本为数组的方法
  2. 定制安全的PHP环境
  3. 【PHP】一个setcookie的bug整死我了
  4. 如何防止.htaccess重定向中的一个文件?
  5. PHP中WEB典型应用技术
  6. mysqli类使用预处理语句不返回任何数据
  7. (T_ENCAPSED_AND_WHITESPACE),期望标识符(
  8. 使用PHP发布整个mySQL命令
  9. php使用DOMDocument更改div但不更新页面
  10. 在数组中计数,其中值为0