关于Activity设置configChanges属性

当设置configChanges属性的时候,会让Activity在什么时候不进行重新创建;

例如:

当不想让Activity在屏幕旋转的时候重新创建,就可以给configChanges属性添加orientation这个值,代码如下:

android:configChanges = "orientation";


configChanges 的项目和含义

  • mcc SIM卡唯一标识IMSI中的国家代码
  • mnc SIM卡唯一标识IMSI中的运营商代码
  • locale 设备的本地位置发生了变更,一般指切换了系统的语言
  • touchscreen 触摸屏发生了改变,但是一般无法发生,可以忽略
  • keyboard 键盘类型发生了改变,如用户使用了外接键盘
  • keyboardHidden 键盘的可访问性发生改变,一般指用户调用了键盘
  • navigation 系统导航发生了改变,这个一般可以忽略
  • screenLayout 屏幕布局发生改变,比如用户激活了另一个显示设备
  • fontScale 系统字体缩放比例发生了改变,比如用户选择了一个新的字号
  • screenSize 当屏幕的磁村信息发生了改变,当旋转设备屏幕的时候,屏幕尺寸发生了改变,这个选项比较特殊,它和编译选项有关,当编译选项中的minSdkVersion和targetSdkVersion均低于13时,此选项不会导致activity重启,否则会导致Activity重启
  • layoutDirection 当布局方向发生变化,这个属性用的比较少,正常情况下无需修改布局的layoutDirection
  • smallestScreenSize 设备物理屏幕尺寸发生改变,如:用户切换到外部设备,和screenSize类似

如果我们没有在Activity的configChanges属性中指定该选项的话,当配置发生改变后就会导致Activity重新创建,常用的只有locale,orientation和keyboardHidden这三项,

虽然不会重新创建Activity了,但是会回调onConfigurationChanged方法,这个时候我们就可以做一些相应的操作了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值