3

Мне нужно определить обратную ориентацию ландшафта, чтобы пользователь не начал захватывать вертикальные видео.Android - обнаружение обратной ориентации ландшафта

Я реализовал 2 макета в layout-land и layout-port папки с различным набором элементов управления. Проблема в том, что Android не позволяет мне создавать отдельный макет специально для обратного пейзажа. Мне нужно это, потому что в этом случае видео записывается вверх ногами, хотя пользовательский интерфейс отображается правильно.

Если я поворачиваю устройство от 0 до 180, Android не звонит onCreate() из моей активности, но в этом случае видео перевернуто.

Может ли кто-нибудь предложить рабочий пример, как определить определенную ориентацию устройства (обратный пейзаж в моем случае), чтобы использовать другой макет для этой ориентации?

ответ

4

Используйте OrientationEventListener, чтобы получить ориентацию в градусах по телефону.

После создания слушателя и вызова enable(), onOrientationChanged(int) будет вызываться всякий раз, когда изменяется ориентация телефона.

Вы можете проверить, если он находится вне диапазонов, которые вы хотите телефон, чтобы быть в.

Не забудьте использовать SENSOR_DELAY_NORMAL в качестве ставки. Таким образом, это будет вызвано только тогда, когда происходит изменение ориентации, которое вы действительно заботитесь, а не небольшие изменения, которые обычно происходят, когда пользователь обрабатывает свой телефон.

Смежные вопросы