Activity中设置android:configChanges的作用及详细属性

详细属性如下表:

属性值:

含义:

mcc

SIM卡唯一标识IMSI(国际移动用户标识码)中的国家代码,由三位数字组成,中国为:460 这里标识mcc代码发生了改变

mnc

 

SIM卡唯一标识IMSI(国际移动用户标识码)中的运营商代码,有两位数字组成,中国移动TD系统为00,中国联通为01,电信为03,此项标识mnc发生了改变

locale

设备的本地位置发生了改变,一般指的是切换了系统语言

touchscreen

触摸屏发生了改变

keyboard

键盘类型发生了改变,比如用户使用了外接键盘

keyboardHidden

键盘的可访问性发生了改变,比如用户调出了键盘

navigation

系统导航方式发生了改变

screenLayout

屏幕布局发生了改变,很可能是用户激活了另外一个显示设备

fontScale

系统字体缩放比例发生了改变,比如用户选择了个新的字号

uiMode

用户界面模式发生了改变,比如开启夜间模式-API8新添加

orientation

屏幕方向发生改变,比如旋转了手机屏幕

screenSize

当屏幕尺寸信息发生改变(当编译选项中的minSdkVersiontargeSdkVersion均低于13时不会导致Activity重启)-API13新添加

smallestScreenSize

设备的物理屏幕尺寸发生改变,这个和屏幕方向没关系,比如切换到外部显示设备-API13新添加

layoutDirection

当布局方向发生改变的时候,正常情况下无法修改布局的layoutDirection的属性-API17新添加

作用:

如果自己没有配置android:ConfigChanges,这时默认让系统处理,就会重建Activity,此时Activity的生命周期会走一遍。
如果自己handle了,系统就不处理了,Activity不会重建,只会回调onConfigurationChanged方法。
如果不想横屏时activity自动重启, 可以在AndroidManifest文件的<activity>中声明android:configChanges属性, 当指定的系统配置发生改变的时候, 系统将不会重启activity, 而是执行程序中的public void onConfigurationChanged(Configuration newConfig)函数, 这样就可以让我们自己处理横屏这件事.

此博客用于个人笔记查阅,同时也和大家一起分享,如有不对,恳请指正。

猜你喜欢

转载自blog.csdn.net/weixin_37011894/article/details/78921805