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更换语言。
网友评论