Android横竖屏切换及configChanges配置

本篇博客需要Activity生命周期相关知识,如果不了解,参看这篇博客:Android下Activity的生命周期

情况一:Activity不配置configChanges属性,或者配置configChanges="orientation|keyboardHidden"或者configChanges=“orientation”

进入Activity之后调用:
在这里插入图片描述

当Activity由竖屏切换到横屏(横屏切换到竖屏与完全一致):
在这里插入图片描述

横竖屏切换时Activity调用onPause()——>onStop()——>onSaveInstanceState()——>onDestroy()——>onCreate()——>onStart()——>onRestoreInstanceState()——>onResume(),即Acitivity在横竖屏切换过程中进行了一次重启,并通过onSaveInstance()和onRestoreInstanceState()进行数据保存和重载。

情况二:configChanges="orientation|screenSize|keyboardHidden"或者configChanges=“orientation|screenSize”

当Activity由竖屏切换到横屏(横屏切换到竖屏过程完全一致):
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210516224135184.png#pic_center在这里插入图片描述
此时在切换横竖屏过程中Activity不会进行重启,但仍会正常切换横竖屏。

情况三:设置Activity的screenOrientation="portrait"或screenOrientation=“landscape”

screenOrientation=“portrait”(强制竖屏)

screenOrientation="landscape"(强制横屏)

在这种情况下,Activity将不会跟随系统横竖屏切换进行切换,而是会直接锁定竖屏或者横屏,相应的Activity自然也不会进行重启,另外设置了screenOrientation属性后,无论config设置为哪一种,均会锁死横竖屏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值