Android 横屏禁止Activity重新创建

AndroidManifest.xml设置activity标签中的android:configChanges属性

 

横屏禁止Activity重新创建

android:configChanges="orientation"

 

Android Studio官方说明:

android:configChanges

列出 Activity 将自行处理的配置更改。在运行时发生配置更改时,默认情况下会关闭 Activity 然后将其重新启动,但使用该属性声明配置将阻止 Activity 重新启动。 Activity 反而会保持运行状态,并且系统会调用其 onConfigurationChanged() 方法。

:应避免使用该属性,并且只应在万不得已的情况下使用。 如需了解有关如何正确处理配置更改所致重新启动的详细信息,请阅读处理运行时变更

任何或所有下列字符串均是该属性的有效值。多个值使用“|”分隔 — 例如,“locale|navigation|orientation”。

说明
mccIMSI 移动国家/地区代码 (MCC) 发生了变化 - 检测到了 SIM 并更新了 MCC。
mncIMSI 移动网络代码 (MNC) 发生了变化 - 检测到了 SIM 并更新了 MNC。
locale语言区域发生了变化 — 用户为文本选择了新的显示语言。
touchscreen触摸屏发生了变化。(这种情况通常永远不会发生。)
keyboard键盘类型发生了变化 — 例如,用户插入了一个外置键盘。
keyboardHidden键盘无障碍功能发生了变化 — 例如,用户显示了硬件键盘。
navigation导航类型(轨迹球/方向键)发生了变化。(这种情况通常永远不会发生。)
screenLayout屏幕布局发生了变化 — 这可能是由激活了其他显示方式所致。
fontScale字体缩放系数发生了变化 — 用户选择了新的全局字号。
uiMode用户界面模式发生了变化 — 这可能是因用户将设备放入桌面/车载基座或夜间模式发生变化所致。 请参阅 UiModeManager。 此项为 API 级别 8 中新增配置
orientation屏幕方向发生了变化 — 用户旋转了设备。

:如果您的应用面向 API 级别 13 或更高级别(按照 minSdkVersion 和 targetSdkVersion 属性所声明的级别),则还应声明 "screenSize" 配置,因为当设备在横向与纵向之间切换时,该配置也会发生变化。

screenSize当前可用屏幕尺寸发生了变化。它表示当前可用尺寸相对于当前纵横比的变化,因此会在用户在横向与纵向之间切换时发生变化。 不过,如果您的应用面向 API 级别 12 或更低级别,则 Activity 始终会自行处理此配置变更(即便是在 Android 3.2 或更高版本的设备上运行,此配置变更也不会重新启动 Activity)。

此项为 API 级别 13 中新增配置。

smallestScreenSize物理屏幕尺寸发生了变化。它表示与方向无关的尺寸变化,因此只有在实际物理屏幕尺寸发生变化(如切换到外部显示器)时才会变化。 对此配置的变更对应于smallestWidth 配置的变化。 不过,如果您的应用面向 API 级别 12 或更低级别,则 Activity 始终会自行处理此配置变更(即便是在 Android 3.2 或更高版本的设备上运行,此配置变更也不会重新启动 Activity)。

此项为 API 级别 13 中新增配置。

layoutDirection布局方向发生了变化。例如,从从左至右 (LTR) 更改为从右至左 (RTL)。 此项为 API 级别 17 中新增配置。

所有这些配置变更都可能影响应用看到的资源值。 因此,调用 onConfigurationChanged() 时,通常有必要再次获取所有资源(包括视图布局、可绘制对象等),以正确处理变化。

 

 

_______________________________________分割线__________________________________________

 

 

Android设置强制横屏或竖屏的方法(禁止自动旋转)看我的另一篇博客

https://blog.csdn.net/yh18668197127/article/details/85119856

 

参考

Android Studio官方<activity>标签说明

https://developer.android.com/guide/topics/manifest/activity-element?hl=zh-cn#config

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值