Orientacja ręczna

AIR 2.6 i nowsze wersje

Istnieje możliwość kontrolowania orientacji stołu montażowego za pomocą metod setOrientation() lub setAspectRatio() obiektu Stage.

Ustawianie orientacji stołu montażowego

Orientację stołu montażowego można ustawiać w środowisku wykonawczym za pomocą metody setOrientation() obiektu Stage. W celu określenia wymaganej orientacji należy użyć stałych wartości ciągów zdefiniowanych w klasie StageOrientation.

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
Poszczególne orientacje mogą nie być obsługiwane przez pewne urządzenia i systemy operacyjne. Na przykład w systemie Android 2.2 nie jest obsługiwane programowe wybieranie orientacji obróconej w lewo na standardowo pionowych urządzeniach i w ogóle nie jest obsługiwana orientacja do góry nogami. Listę orientacji, które można przekazywać do metody setOrientation() , zawiera właściwość supportedOrientations stołu montażowego:
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

Ustawianie proporcji stołu montażowego

Jeśli chodzi głównie o proporcje stołu montażowego, można ustawiać proporcje jako pionowe lub poziome. Proporcje można ustawić w deskryptorze aplikacji AIR lub, w czasie wykonywania, za pomocą metody setAspectRatio() obiektu Stage:

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

Środowisko wykonawcze wybiera jedną z dwóch możliwych orientacji dla określonych proporcji. Może to nie pasować do bieżącej orientacji urządzenia. Domyślną orientację można na przykład ustawić w preferencji jako orientację do góry nogami (w środowisku AIR 3.2 lub starszym). Dla klawiatury wysuwanej jest wtedy preferowana orientacja przeciwna do ustawionej.

(AIR 3.3 i nowsze wersje) Od wersji 3.3 środowiska AIR (wersji 16 formatu SWF) można stosować stałą StageAspectRatio.ANY . Jeśli parametr Stage.autoOrients zostanie ustawiony na true i zostanie wywołana metoda setAspectRatio(StageAspectRatio.ANY) , aplikacja będzie mogła zmieniać orientację na każdą z obsługiwanych (poziomo — prawa, poziomo — lewa, pionowo i pionowo — do góry nogami). Nowością w środowisku AIR 3.3 jest trwałość proporcji. Dalsze obroty urządzenia są ograniczone do określonej orientacji.

Przykład: Ustawianie orientacji stołu montażowego, aby była ona zgodną z orientacją urządzenia

Poniższy przykład ilustruje funkcję aktualizującą orientację stołu montażowego tak, aby była ona zgodna z bieżącą orientacją urządzenia. Właściwość deviceOrientation stołu montażowego określa fizyczną orientację urządzenia nawet wówczas, gdy automatyczna orientacja jest wyłączona.

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

Zmiana orientacji jest asynchroniczna. W celu wykrycia zakończenia zmiany można wykrywać zdarzenie orientationChange wywoływane przez stół montażowy. Jeśli urządzenie nie obsługuje danej orientacji, wywołanie metody setOrientation() kończy się niepowodzeniem bez zgłoszenia błędu.