• 关于横竖屏切换导致的Activity重建问题


    大家知道Android Activity在横竖屏切换的时候会重建以适应新的屏幕和环境

    这是必然的

    但是有时候容易忽视此引起的问题

    在调用三方识别SDK的时候,他是横屏识别,你原Activity是竖屏,你若不处理,原Activity已有的数据就会被重建,原来的数据就没了

    这样会引起使用上的不方便,数据都没了,咱们得让数据还在啊,页面不能重绘,也不能重载

    解决方法

    configChanges

    就是如上的属性

    这个属性就是设置某页面在横竖屏切换时不会让系统重建的关键

    咋写呢?如下

      android:configChanges="screenSize|orientation"

    那么我这里是用了screenSize和orientation两个属性,这样

    就大功告成了,妈妈再也不会担心我的横竖屏切换会出问题了

    但是,除了这些属性,还有其他是什么意思呢

    其他属性说明

    mmc:这里的意思是SIM卡的标识IMSI中的mmc发生了改变,这个mmc的用途是区分不同的国家的3位数号码,比如中国的是460,玩过水货的估计有了解这个东西的。
    mnc:IMSI中的运营商代码改变,就是用来区分当前SIM卡的网络运营商的,中国移动是00,联通是01,电信是03。
    locale:本地位置改变触发,恩,这个貌似跟语言切换有关,没用过,不是跟了解。
    keyboard、keyboardHidden:这两个一起说一下,就是跟键盘有关的操作,前一个是键盘类型变化,如插了个键盘在设备上,后一个指的是键盘的可访问性发生变化。
    teachScreen:触摸屏变化。
    navigation:系统导航方式变化。
    screenLayout:屏幕布局发生了改变。
    layloutDirection:布局的方向发生变化,注意,是布局的方向,不是屏幕的,比较难理解的一个概念,是API17之后出现的
    orientation:屏幕方向改变,具体就是屏幕的横竖屏切换。
    uiMode:用户界面改变,这个是api18后出现的,比如切换夜间模式等场景会出现这个。
    fontScale:系统字体大小改变。
    screenSize:设备的屏幕的尺寸信息发生了改变,旋转屏幕时也会触发这个,但是这个值是API13之后才有的,因此13之前的设备没有这个。
    smallestScreenSize:设备的物理屏幕发生改变,同样是API13之后的东西,指的是设备的物理屏幕发生变化,比如外接显示器之类的。

    一般就是orientation ,加上screenSize也可以

  • 相关阅读:
    软件测试原则
    java知识点
    jquery取值
    Javaweb命名规则
    @ResponseBody
    jquery ajax 方法及各参数详解
    @RequestMapping用法详解
    eclipse+android+opencv环境搭建的步骤
    Java中的内部类(回调)
    OpenCV直方图(直方图、直方图均衡,直方图匹配,原理、实现)
  • 原文地址:https://www.cnblogs.com/fengfenghuifei/p/11060396.html
Copyright © 2020-2023  润新知