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

  • 相关阅读:
    基本的Web控件二
    基本的Web控件一
    centos更改默认语言
    nginx优化配置
    使用nginx的proxy_cache做网站缓存
    centos7配置笔记
    redis批量删除
    Linq常用操作
    MVC ViewData和ViewBag[转]
    Transact-SQL的除法问题
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/14396767.html
Copyright © 2020-2023  润新知