Я использую Display.getRotation () и просто отображаю вращение с помощью всплывающего сообщения в моем методе onCreate (), поскольку onCreate () вызывается каждый раз, когда вы поворачиваете экран.
Во всяком случае, я обнаружил странное поведение, которое, я думаю, лучше всего объяснить на примере.
Допустим, я держу устройство в «естественном» повороте на 0 градусов. Если я поверну на 90 градусов по часовой стрелке, я получу 270 градусов, а если поверну на 90 градусов против часовой стрелки, я получу 90 градусов. Однако, если я быстро поверну устройство на 180 градусов, это достаточно быстро, чтобы не было перехода через поворот на 90 градусов или поворот на 270 градусов, все изображение поворачивается, но поворот все равно отображается как исходный 0 градусов.
Допустим, я держал под углом 90 градусов, он прекрасно работает, если я поворачиваю на 90 градусов в любом направлении, но если я делаю переворот на 180 градусов, изображение снова поворачивается, но оно все равно сообщает исходные 90 градусов.
В чем здесь дело? Есть идеи?
Я собираюсь попробовать еще несколько экспериментов, если я это выясню, я опубликую результаты.