当前位置:   article > 正文

android开发设置页面自适应横竖屏,android开发之activity横竖屏切换时的生命周期以及横竖屏切换时的资源适配方案...

横竖屏自适应代码

背景:之前有过两篇写activity的博客

android之activity的生命周期详解:详细介绍了activity的整个生命周期、各状态间的转换和返回桌面时保存activity的状态

本篇博客会牵扯到里面的内容,如果你都有所了解可以直接往下看,如果不了解可以进去回忆下。

问题:在做应用的退出对话框时,发现如果对话框弹出,然后把手机横竖屏切换一下,对话框就消失了。知道activity在横竖屏切换时会走一些生命周期,就误以为是在onPause和onResume的时候没有把对话框恢复出来,

首先想到就是设一个全局变量isDialogShow用来保存对话框是否显示,在onPause中检查下如果显示了,就把isDialogShow设置为true,然后在onResume中判断下isDialogShow的值,如果为true,则把对话框在显示出来。

以为这样就解决了,运行发现不对,对话框还是不显示。

然后debug发现,每次进入onResume的时候,isDialogShow都是false,也就是说每次isDialogShow都被重新初始化了。

这时候才突然意识到,横竖屏切换的时候生命周期可能不是我想的那样。

就借着这个机会去总结一下activity横竖屏切换时如何保存状态以及自适应布局。

解决方案:对于这个问题,有三种方案

1??顺应activity的生命周期,保存然后恢复状态,onCreate中动态适应布局。

2??在AndroidManifest.xml中设置,不让activity重走生命周期从而保存状态,然后通过onConfigurat

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/332399
推荐阅读
相关标签
  

闽ICP备14008679号