Если автоматическая ориентация включена и пользователь поворачивает устройство, операционная система изменяет ориентацию всего интерфейса, включая панель задач и окно вашего приложения. В результате этого соотношение сторон рабочей области меняется с книжного на альбомное или наоборот. При изменении соотношения сторон также изменяются размеры рабочей области.
Для включения и отключения автоматической ориентации во время выполнения установите для свойства рабочей области
autoOrients
значение
true
или
false
. Можно задать исходное значение для этого свойства, определив в дескрипторе приложения AIR элемент
<autoOrients>
. (обратите внимание, что до версии AIR 2.6 свойство
autoOrients
доступно только для чтения и его можно установить только в дескрипторе приложения).
Если указаны пропорции альбомной или книжной ориентации и включен параметр автоматической установки ориентации, в среде AIR автоматическая ориентация устанавливается только в пределах указанных пропорций.
Изменение размеров рабочей области
При изменении размера рабочей области изменяется масштаб и положение содержимого в соответствии со значениями свойств
scaleMode
и
align
объекта Stage. В большинстве случаев использование автоматического поведения настроек рабочей области
scaleMode
не дает хороших результатов. Вместо этого следует выполнять перекомпоновку или перерисовку графики и компонентов, чтобы обеспечить поддержку более чем одного соотношения сторон (реализация гибкой схемы компоновки также улучшит качество работы приложения на разных устройствах с разными размерами экранов и соотношением сторон).
На следующей иллюстрации показаны эффекты различных настроек
scaleMode
при вращении стандартного мобильного устройства.
На иллюстрации показано поведение масштабирования при повороте устройства из альбомного в книжное положение в разных режимах масштабирования. Поворот из книжного положения в альбомное дает аналогичные эффекты.
События изменения ориентации
Объект Stage отправляет два типа событий, которые можно использовать, чтобы обнаруживать изменения ориентации и реагировать на них. Оба события рабочей области
resize
и
orientationChange
отправляются, когда автоматическая ориентация включена.
Событие
resize
лучше всего использовать, когда для сохранения вертикального расположения экрана применяется функция автоматической ориентации. Когда рабочая область отправляет событие
resize
, выполните перекомпоновку или перерисовку содержимого. Событие
resize
отправляется, только когда установлен режим масштабирования
noScale
.
Событие
orientationChange
также можно использовать для выявления изменений ориентации. Событие
orientationChange
отправляется, только когда включена автоматическая ориентация.
Примечание.
На некоторых мобильных платформах рабочая область отправляет событие
orientationChanging
перед отправкой событий resize и orientationChange. Поскольку событие поддерживается не на всех платформах, его использования следует избегать.