У меня есть приложение для Android с несколькими представлениями.Я отключил автоматическое переключение ориентации, объявив android:configChanges="keyboardHidden|orientation|screenSize"
для своей активности.
Q1) Как мне повторно активировать виды в onConfigurationChanged()
?Кажется, мне нужно сбросить представление содержимого, используя метод setContentView
.Есть ли альтернативный способ сигнализировать о том, что теперь вы должны раздуть альбомную / альбомную версию макета?Некоторые из моих представлений содержат довольно сложные states/modeless
диалоговые окна и т. Д., Которые могут появляться в любое время, поэтому удаление объекта представления и повторное создание его экземпляра просто не звучат правильно.
Q2) Какой лучший способ в onConfigurationChanged()
чтобы узнать, какое представление нам действительно нужно активировать, т.е. что было сфокусировано, когда началось изменение ориентации?Я не хочу полагаться на getCurrentFocus()
, так как иногда он может быть нулевым.