Android编程知识
android:configChanges属性解析
2022-10-19 249 0
简介 android:configChanges属性解析
一、configChanges作用
Android程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等。这些事件一旦发生,当前活动的Activity会重新启动,其中的过程是:在销毁之前会先调用onSaveInstanceState()方法去保存你应用中的一些数据,然后调用onDestroy()方法,最后调用onCreate()、onStart()、onResume()等方法启动一个新的Activity。
如果想让某些配置在发生改变的时候不重启Activity,需要为Activity添加android:configChanges属性,该属性可以设置多个值,用"|"隔开,例如:“locale|navigation|orientation。设置了android:configChanges属性后,当指定的属性发生变化时,不会去重新启动Activity,而是通知程序去调用Activity的onConfigurationChanged()方法。例如:在进行横竖屏的切换时,会重新启动Activity,而定义了android:configChanges=“orientation|keyboardHidden”,就不会重新启动Activity了,而是去调用 onConfigurationChanged()方法。
简言之,在Activity中添加了android:configChanges属性,目的是当android:configChanges所设置的属性值对应的配置属性发生改变时,通知程序调用 onConfigurationChanged()函数,而不会重启Activity。
二、android:configChanges属性可以指定的值
“mcc” :国际移动用户识别码所属国家代号改变了----- sim被侦测到了,去更新mcc,mcc是移动用户所属国家代号
“mnc”: 国际移动用户识别码的移动网号码改变了------ sim被侦测到了,去更新mnc,MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
“locale”: 地址改变了-----用户选择了一个新的语言会显示出来
“touchscreen”: 触摸屏是改变了------通常是不会发生的
“keyboard” :键盘发生了改变----例如用户用了外部的键盘
“keyboardHidden”: 键盘的可用性发生了改变
“navigation”: 导航发生了变化-----通常也不会发生
“screenLayout”: 屏幕的显示发生了变化------不同的显示被激活
“fontScale”: 字体比例发生了变化----选择了不同的全局字体
“uiMode”: 用户的模式发生了变化
“orientation”: 屏幕方向改变了
“screenSize”: 屏幕大小改变了
“smallestScreenSize”: 屏幕的物理大小改变了,如:连接到一个外部的屏幕上
————————————————
版权声明:本文为CSDN博主「互联网小熊猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42600398/article/details/122525304