android:configChanges不被调用的问题

本文探讨了在不同SDK版本下屏幕方向与尺寸变化对应用的影响。针对API 13及以上版本的应用,需要同时考虑orientation和screenSize的变化,并在Activity中正确配置以避免重启问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同样是由于SDK版本引发的问题。版本高的更加严谨,限制更多。

"orientation"The screen orientation has changed — the user has rotated the device.

Note: If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize" configuration, because it also changes when a device switches between portrait and landscape orientations.

"screenSize"The current available screen size has changed. This represents a change in the currently available size, relative to the current aspect ratio, so will change when the user switches between landscape and portrait. However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

Added in API level 13.

 

 

 

 

 

 

 

 

So,大意就是SDK版本13或以上的,需要同时用orientation与screenSize。因为当设备横竖屏切换时,相应的屏幕大小也改变了。所以在Activity配置中正确写法为

android:configChanges="orientation|screenSize"

同时,我们可以知道screenSize这个配置改变并不会导致Activity的reStart。

转载于:https://www.cnblogs.com/Traveller-Leon/p/4643830.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值