一、语言设置
设置语言变化时,不重建Activity
android:configChanges="locale|layoutDirection"
locale:语言发生改变时,文字重新显示;
layoutDirection:当改变语言设置后,不重启Activity(4.2新增)。
二、屏幕横屏设置
设置屏幕旋转时,不重建Activity(不两次加载Activity),设置不当,会重建Activity(两次加载Activity)
2.1 基于XML文件设置横屏
在AndroidManifest.xml中,对应的Activity标签中添加下列代码
<!-- 设置横屏 -->
android:screenOrientation="landscape"
<!-- 设置Activity不重建 -->
android:configChanges="orientation|keyboardHidden|screenSize"
landscape:设备屏幕方向横屏,portrait:设备默认方式竖屏;
orientation:设备屏幕方向旋转切换;
keyboardHidden:设备键盘发生改变;
screenSize: 设备屏幕大小改变;
2.2 基于XML文件和Java文件设置横屏
(1)在对应的Activity的java代码中添加下列代码
// 设置横屏,这仅仅设置了横屏,但没有设置Activity重建
// Set the screen to landscape
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
(2)在AndroidManifest.xml中,对应的Activity标签中添加下列代码
<!-- 设置Activity不重建 -->
android:configChanges="orientation|keyboardHidden|screenSize"
目前,我还没发现全部使用java代码实现横屏设置和Activity重建。