Чтобы корректно отразить в пользовательском интерфейсе прочитанные данные акселерометра, приложение должно знать, на сколько был повернут экран. Если экран был переориентирован из книжного режима в журнальный, координатная система экрана повернулась относительно координатной системы акселерометро. Для обработки этого приложение должно использовать метод Display.getRotation, который был введен в Android.
Метод возвращает простое целочисленное значение, а не действительное количество градусов поворота. Возвращаемым значением может быть одно из следующих: Surface. ROTATION_, Surface.ROTATION_, Surface.ROTATION_ и Surface.ROTATION_. Это константы, равные,, и соответственно. Возвращаемое значение сообщает, насколько много экран был повернут от “нормальной” ориентации устройства. Поскольку не для всех устройств Android нормальным является книжный режим, мы не можем полагать, что этому режиму всегда соответствует константа ROTATION_.
Не все устройства будут выдавать все четыре значения. На HTC Droid Eris c Android. вызов Display.getOrientation (предшественник Display.getRotation, который теперь объявлен устаревшим) вернет или, и это все. В обычном книжном режиме возвращается значение. Если вы повернете устройство на http://www.medi-club.ru/catalog/urology/sppp градусов против часовой стрелки, экран также повернется и вызов Display.getOrientation вернет. Если повернуть устройство на градусов по часовой стрелке в книжном режиме, экран останется в этом режиме и вызов Display.getOrientation будет возвращать по-прежнему.
На устройстве Motorola Droid с Android. вызов Display.getRotation возвращает, или. Значение не возвращается, т.е. перевернутый книжный режим не поддерживается. Результат получается несколько странным при повороте устройства на градусов против часовой стрелки в прямом книжном режиме.
Вызов Display.getRotation вернет при повороте на градусов, и экран переключится в журнальный режим, при градусах также возвращается, но режим экрана не меняется, а при градусах экран переключается на другой журнальный режим, но Display.getRotation по-прежнему возвращает. Если же вы поворачиваете устройство на градусов по часовой стрелке в прямом книжном режиме, вызов Display.getRotation дает. Последняя позиция в точности соответствует повороту на градусов против часовой стрелки, однако Display.getRotation возвращает разные результаты в зависимости от того, какой поворот был сделан.
Опубликовал katy
February 18 2015 15:16:30 ·
0 Комментариев ·
2586 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.