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.
|
|
|