configChanges属性

设置屏幕旋转禁止Activity 重启:

<activity
  android:name=".MainActivity"
  android:configChanges="screenSize|orientation" 
</activity>

设置了上面的属性后,屏幕旋转后onCreate()不会执行onSaveInstanceState(),onRestoreInstanceState不会被调用,, 而是会执行onConfigurationChanged():

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    };

configChanges属性:

属性含义
mccSIM卡唯一标识IMSI(国际移动用户识别码)中的国家代码,由三位数字组成,中国为460。此项标识mcc代码发生了改变
mncSIM卡唯一标识IMSI(国际移动用户识别码)中的运营商代码,由两位数字组成,中国移动TD系统为00,中国联通为01,中国电信为03。此项标识mnc发生改变
locale设备的本地位置发生改变,一般指切换了系统的语言
touchscreen触摸屏发生了改变(正常情况下无法发生)
keyboard键盘类型发生了改变,例如用户使用了外插键盘
keyboardHidden键盘的可访问性发生了改变,例如用户调出键盘
navigation系统导航方式发生了改变,例如采用了轨迹导航
screenLayout屏幕布局发生了改变,例如用户激活了另一个显示设备
fontScale系统字体缩放比例发生了改变,例如用户选择了一个新字号
uiMode用户界面模式发生了改变,例如开启了夜间模式(API8 添加)
orientation屏幕方向发生了改变,例如旋转了手机屏幕
screenSize当屏幕的尺寸信息发生了改变,例如当旋转设备屏幕时,屏幕的尺寸会发生改变,这里要注意:这个选项与编译选项有关,当编译选项中的minSdkVersion 和 targetSdkVersion 均低于13时,此选项不会导致Activity重启,否则会导致Activity重启(API 13新添加)
smallestScreenSize设备的物理屏幕尺寸发生改变,这个选项与屏幕的方向没有关系,仅仅表示在实际的物理屏幕的尺寸改变的时候发生,例如用户切换到了外部的显示设备,这里要注意:这个选项与编译选项有关,当编译选项中的minSdkVersion 和 targetSdkVersion 均低于13时,此选项不会导致Activity重启,否则会导致Activity重启(API 13新添加)
layoutDirection当布局方向发生了变化。(正常情况下无须修改布局的layoutDirection属性,API 17 添加)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值