众所周知,在没有在androidmainfest文件进行配置时,我们改变手机的orientation时会销毁当前activity , 创建一个新的activity .
当我们配置
<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation|screenSize">那么MainAcrivity的onConfigurationChanged方法就会在手机横竖屏切换时,被调用,而且监听软键盘是否隐藏,手机是否横竖屏切换,屏幕尺寸是否改变
代码:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); Configuration configuration = getResources().getConfiguration(); // 当前是横屏 if (configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.e(TAG, "设为竖屏"); } else if (configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { Log.e(TAG, "设为横屏"); } }