1.android:configChanges常用的属性如下:
keyboard|orientation|screenSize|keyboardHidden
keyboard :键盘发生了改变----例如用户用了外部的键盘
orientation:屏幕方向改变了---横竖屏切换
screenSize:屏幕大小改变了
keyboardHidden:键盘的可用性发生了改变(如隐藏键盘)
2.如果我们没有在manifest中配置android:configChanges,当横竖屏切换、键盘的可用性等这样的事情发生的时候,activity会重新启动。如果设置了這写值,当相应的操作被触发后,activity不会重新启动,而是去调用onConfigrationChanged函数。
3.android:configChanges配置
<activity
android:name=".module.ac.xxxActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"/>
4.从写onConfigrationChanged函数
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
int orientation = newConfig.orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
// 竖屏操作
}
else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
// 横屏操作
}
}