我为横向模式创建了不同的布局,并将 xml 放在名为 layout-land ,到目前为止一切顺利。问题是每次屏幕旋转onPause(),onStop()和onCreate()再次被调用,我不希望这样。所以我添加了:
android:configChanges="orientation|keyboardHidden"
在清单中我的类,但现在我无法在layout-land文件夹中使用xml。 那么如何在不调用onCreate()的情况下自定义纵向和横向模式的屏幕?
答案 0 :(得分:1)
您需要自己明确地处理配置更改。由于您已添加android:configChanges="orientation|keyboardHidden"
,这意味着您告诉android您将自己处理配置更改。
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
// Checks the orientation
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//Here set the layout for your landscape mode
} else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){
//Here set the layout for your portrait mode
}
}
阅读this链接。这将有所帮助。