美文网首页
Android ConfigChanges属性详解

Android ConfigChanges属性详解

作者: 夜沐下的星雨 | 来源:发表于2020-08-05 23:07 被阅读0次

    ScrollView 使用遇见的一些问题(横竖屏的切换问题)

    当我们写ScrollView (滚动查看) 使用竖屏是会正常显示,但是当我们进行横屏切换后
    就会重新运行onCreate 方法 ,重新new Fragment 就会产生两个相似的布局 相互覆盖。使用configChanges="orientation|keyboardHidden|screenSize" 就可以不再产生相似布局,解决问题。
    横竖屏的切换:

    <activity android:name=".auth.login.pwd.AuthActivity"
    android:configChanges="orientation|keyboardHidden|screenSize">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" /
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

    问题:系统语言改变后,activity会调用onDestory()重启,然后重启onCreate(),因此一些体验非常不好。
    解决办法:在activity中配置:

            android:configChanges="locale|layoutDirection|keyboard"
    

    至少在MIUI上面是没有问题了,但是对于这种配置,对于不同的ROM可能出出现不同的结果,还有以下奇怪的办法:

    比如创建BaseActivity,在BaseActivity的onCreate中监听系统语言是否发生改变,然后通过eventBus去通知其他activity更换语言。


    相关文章

      网友评论

          本文标题:Android ConfigChanges属性详解

          本文链接:https://www.haomeiwen.com/subject/kojarktx.html