Я создаю простую игру для Android, и я бы хотел работать как в портретном, так и в пейзажном виде. Я создал отдельные файлы xml
в layout
и layout-land
. В моем файле манифеста есть android:configChanges="orientation|screenSize|keyboardHidden"
.Android - Переключение ориентации с портрета/пейзажа сбрасывает атрибуты по умолчанию
Проблема возникает при повороте экрана во время игры. Есть некоторые изображения, которые начинают игру как невидимые, а затем становятся видимыми во время игры. Если во время игры меняется ориентация экрана, все атрибуты этих изображений возвращаются к настройкам по умолчанию в XML-файле как невидимые, поэтому теперь игра становится неиграбельной, потому что все внезапные изображения исчезают.
Мой вопрос: как сохранить обновленные атрибуты для всех моих представлений при возникновении ориентации экрана?
Кроме того, у меня было заставить активность, чтобы начать правильно, добавив это в методе onCreate
:
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.activity_main);
}else {
setContentView(R.layout.activity_main_land);
}
, а также добавлены вручную onConfigurationChanged
метод, чтобы заставить корректное отображение на изменение ориентации. Мне нужно сделать все эти обновления атрибутов вручную здесь?