zoukankan      html  css  js  c++  java
  • 【Android】解决Android横竖屏切换数据丢失问题的方法

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

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

    screenOrientation有如下选项:

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

    2.landscape 横屏

    3. portrait 竖屏

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

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

    6. sensor 使用传感器 传感器的方向

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

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

    <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,如果是横屏变竖屏生命周期方法不会被回调!

  • 相关阅读:
    轮廓 | outline (Basic User Interface)
    转换 | CSS Transitions (Animations & Transitions)
    越线 | line-break (Text)
    贴士和技巧 | CSS Animations: Tips (Animations & Transitions)
    负 | @counter-style.negative (Counter Styles)
    调整 | resize (Basic User Interface)
    再见乱码:5分钟读懂MySQL字符集设置
    git
    Python 内存&函数调用关系图
    Python 笔记
  • 原文地址:https://www.cnblogs.com/mqxs/p/8504561.html
Copyright © 2011-2022 走看看