【Android】解决Android横竖屏切换数据丢失问题的方法

解决方案1:在Androidmanifest.xml的activity标签中加入android:screenOrientation="portrait",能够屏蔽横屏java

<activity android:name=".MainActivity" android:screenOrientation="portrait"
            >
</activity>

screenOrientation有以下选项:android

1.unspecified 默认值,由系统判断状态自动切换字体

2.landscape 横屏spa

3. portrait 竖屏code

4.user 用户当前设置的orientation值xml

5. behind 下一个要显示的Activity的orientation值blog

6. sensor 使用传感器 传感器的方向生命周期

7. nosensor 不使用传感器 基本等同于unspecified事件

 

解决方案2:在Androidmanifest.xml的activity标签中加入android:configChanges="orientation|keyboardHidden|screenSize"ci

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

configChanges属性能够设置多个值,中间使用竖线分割;

1. orientation 屏幕在纵向和横向间旋转

2.keyboardHidden 键盘显示或隐藏

3.screenSize 屏幕大小改变了

4.fontScale 用户变动了首选的字体大小

5.locale 用户选择了不一样的语言设定

 

6.keyboard 键盘类型变动,例如手机从12键盘切换到全键盘 7.touchscreen或navigation 键盘或导航方式变化,通常不会发生这样的事件

 

以前网上查到不少都是说设置了“orientation“和”keyboardHidden”属性,可是效果并无用,须要增长设置screenSize三个值才行。

若是只设置”orientation|screenSize”,会发生竖屏变横屏生命周期会有先销毁后从新onCreate,若是是横屏变竖屏生命周期方法不会被回调!

相关文章
相关标签/搜索