Orientação manual

AIR 2.6 e posterior

Você pode controlar a orientação do palco usando o método de Palco setOrientation() ou setAspectRatio() .

Definindo a orientação do palco

Você pode definir a orientação do palco no tempo de execução usando o método setOrientation() do objeto Stage. Use as constantes de sequências de caracteres definidas pela classe StageOrientation para especificar a orientação desejada:

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
Nem todos os dispositivos ou sistemas operacionais suportam todas as orientações possíveis. Por exemplo, o Android 2.2 não suporta a escolha programada da orientação com giro para a esquerda nos dispositivos que têm a orientação de retrato como padrão, assim como não suporta de nenhuma forma a orientação de cima para baixo. A propriedade supportedOrientations do palco fornece uma lista de orientações que podem ser transferidas para o método setOrientation() :
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

Definindo a proporção do palco

Se a proporção do palco for sua preocupação principal, você poderá defini-la como retrato ou paisagem. Você pode definir a proporção no descritor do aplicativo do AIR ou no tempo de execução, usando o método setAspectRatio() :

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

O tempo de execução escolhe uma das duas orientações possíveis para a proporção especificada. Essa pode não corresponder à orientação do dispositivo atual. Por exemplo, a orientação padrão é escolhida em vez da orientação de cabeça para baixo (AIR 3.2 e anterior) e a orientação apropriada para o teclado deslizante é escolhida em vez da orientação oposta.

(AIR 3.3 e superior) Começando com o AIR 3.3 (SWF versão 16), você também pode usar a constante StageAspectRatio.ANY . Se Stage.autoOrients estiver definido como true e você chamar setAspectRatio(StageAspectRatio.ANY) , seu aplicativo tem o recurso de reorientar todas as orientações (paisagem à esquerda, paisagem à direita, retrato e retrato de cabeça para baixo). Também novo no AIR 3.3, o aspecto de proporção é persistente e a rotação adicional do dispositivo é restrita à orientação especificada.

Exemplo: Definição da orientação do palco para corresponder à orientação do dispositivo

O exemplo a seguir ilustra uma função que atualiza a orientação do palco para corresponder à orientação atual do dispositivo. A propriedade deviceOrientation do palco indica a orientação física do dispositivo, mesmo quando a auto-orientação está desativada.

function refreshOrientation( theStage:Stage ):void 
{ 
    switch ( theStage.deviceOrientation ) 
    { 
        case StageOrientation.DEFAULT: 
            theStage.setOrientation( StageOrientation.DEFAULT ); 
            break; 
        case StageOrientation.ROTATED_RIGHT: 
            theStage.setOrientation( StageOrientation.ROTATED_LEFT ); 
            break; 
        case StageOrientation.ROTATED_LEFT: 
            theStage.setOrientation( StageOrientation.ROTATED_RIGHT ); 
            break; 
        case StageOrientation.UPSIDE_DOWN: 
            theStage.setOrientation( StageOrientation.UPSIDE_DOWN ); 
            break; 
        default: 
            //No change              
    } 
}

A mudança de orientação é assíncrona. Você pode ouvir o evento orientationChange despachado pelo palco para detectar a conclusão da mudança. Se uma orientação não for suportada num dispositivo, a chamada setOrientation() falhará sem emitir um erro.