Я создал макеты для больших экранов как для портрета, так и для пейзажа, и у меня есть signin.xml в обоих макетах, но когда я меняю ориентацию экрана, он не загружает ландшафт xml, а изменяет его в альбомный режим, но портрет xml были загружены. Я также упомянул onconfig изменения в манифесте, и, пожалуйста, дайте мне знать, как сохранять данные при изменении ориентации и, пожалуйста, покажите мне пример.
Ниже мой код Java
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getOrientation();
boolean oAllow = false;
switch(orientation) {
case Configuration.ORIENTATION_PORTRAIT:
if(!oAllow ) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
break;
case Configuration.ORIENTATION_LANDSCAPE:
if(!oAllow) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
break;
}
}
Как я могу получить свой пейзаж, когда меняю пейзаж на портретный?
пожалуйста, любые предложения? Заранее спасибо
Является ли папка вашего портрета xml или макет-портрет? Если его макет-портрет, пожалуйста, не объявляйте его так. Просто создайте папку "layout" по умолчанию, os возьмет xml, когда ориентация - портрет.
Затем прокомментируйте приведенный выше код в java и объявите в androidmanifest.xml, android: configChanges = "keyboardHidden | orientation" напротив вашей декларации активности и проверьте, работает ли она.
почему именно вы переопределяете onconfigchanges? Возможно, это может испортить ваш макет. android способен обрабатывать изменения макета, когда у вас есть макет и папка-макет, содержащая ваши макеты.