Android: отключить вращение на 90 °, но разрешить поворот на 180 °
Я хотел бы создать приложение для Android (для планшета), которое должно отображаться только в альбомной ориентации, например. приложение должно игнорировать вращения на 90 °, но поддерживать вращения на 180 °.
Добавление android: screenOrientation = "пейзаж" в манифесте заставляет приложение игнорировать все вращения (даже вращение на 180 °), т.е. вращение устройства на 180 ° показывает приложение вверх ногами.
Без атрибута android: screenOrientation мое приложение отображается "правильно" во всех четырех позициях. Вращение устройства на 180 ° переворачивает пользовательский интерфейс вертикально или. по горизонтали.
При вращении устройства создаются следующие сообщения журнала (возможно, это помогает?):
[...]: INFO/WindowManager(1290): Setting rotation to 1, animFlags=0
Rotation is a value between 0 and 3 representing the current orientation.
Подводя итог: возможно ли включить приложение для поддержки обеих ориентаций ландшафта?
Ответы
Ответ 1
Новая ориентация экрана sensorLandscape, по-видимому, предназначена для этой цели.
Например, вы можете сделать:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
К сожалению, это доступно только для Android 2.3. В настоящее время я ищу способ добиться этого на Froyo.