У меня есть приложение, ориентация которого жестко закодирована в ландшафт в файле манифеста. Когда пользователь нажимает опции/меню приложения, приложение запускает gridview/listview (в зависимости от выбранного параметра). Это очень хорошо работает в ландшафтном режиме. Однако у меня возникают проблемы, если я хочу изменить пользовательский интерфейс, когда пользователь просматривает приложение в портретном режиме. Независимо от того, в каком режиме находится телефон, пользовательские интерфейсы всегда отображаются в ландшафте. (Из-за установки в файле манифеста). Я попытался сделать анимацию вращения (90 градусов), но это вызывает проблемы. Для просмотра списка прокрутка не работает должным образом после анимации, а для представления сетки клики на элементах сетки соответствуют более старой компоновке (пейзаж), а не более новой (после поворота анимации). Кто-нибудь сталкивался с этой проблемой раньше? Любые предложения будут приветствоваться.
Попробуйте использовать метод setRequestedOrientation
в вашей деятельности:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);