美文网首页
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