不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。

设置Activity的android:configChanges="orientation"时,切横,竖屏时生命周期只会执行一次。

设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用声明周期,只会执行onConfigurationChanged方法。


在android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置。在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而只是调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式.


MainActivity中:

  1. publicvoidonConfigurationChanged(ConfigurationnewConfig){
  2. try{
  3. super.onConfigurationChanged(newConfig);
  4. if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE){
  5. Log.v("Himi","onConfigurationChanged_ORIENTATION_LANDSCAPE");
  6. }elseif(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT){
  7. Log.v("Himi","onConfigurationChanged_ORIENTATION_PORTRAIT");
  8. }
  9. }catch(Exceptionex){
  10. }
  11. }


  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.himi"android:versionCode="1"android:versionName="1.0">
  4. <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
  5. <activityandroid:name=".MainActivity"android:label="@string/app_name"
  6. android:configChanges="keyboardHidden|orientation">
  7. <intent-filter>
  8. <actionandroid:name="android.intent.action.MAIN"/>
  9. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  10. </intent-filter>
  11. </activity>
  12. </application>
  13. <uses-sdkandroid:minSdkVersion="4"/>
  14. </manifest>

更多相关文章

  1. Android(安卓)AsyncTask
  2. 使用PHP开发Android应用程序技术介绍
  3. android字体大小多屏幕适配
  4. android studio 快捷键描述和设置
  5. android属性详解
  6. 关于服务端设置了IPV6时,Android请求网络超慢的问题记录
  7. Android(安卓)Activity生命周期是如何实现的
  8. Android横竖屏切换实例总结
  9. android:padding和android:margin的用法及区别

随机推荐

  1. Android(安卓)实时网路监测类 步骤一(Net
  2. android 得到手机MAC
  3. Android(安卓)加密解密字符串
  4. Android(安卓)混淆JS交互没反应
  5. android中SharedPreferences使用
  6. Android(安卓)Activity 窗口大小縮放
  7. Android(安卓)Studio 3.x找不到Android(
  8. Android拍照以及前后摄像头切换
  9. android 代码设置间距
  10. Android(安卓)-- 动画特效(Animation)