Manuell orientering

AIR 2.6 och senare

Du kan styra scenens orientering med metoderna setOrientation() och setAspectRatio() för Stage-objektet.

Ange scenens orientering

Du kan ange scenens orientering vid körning med metoden setOrientation() för Stage-objektet. Använd de strängkonstanter som definieras i klassen StageOrientation för att ange önskad orientering:

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
Alla enheter och operativsystem har inte stöd för alla orienteringar. Till exempel saknar Android 2.2 stöd för att via programmet välja en vänsterroterad orientering på enheter med stående standardformat och saknar helt stöd för upp och ned-orientering. Egenskapen supportedOrientations för scenen tillhandahåller en lista över de orienteringar som kan skickas till metoden setOrientation() :
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

Ange scenens proportioner

Om scenens proportioner är viktigast kan du ange proportionerna som stående eller liggande. Du kan ange proportionerna antingen i AIR-programbeskrivningen eller, vid körning, med metoden setAspectRatio() för Stage-objektet:

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

En av de två möjliga orienteringarna för den angivna proportionen väljs automatiskt. Detta kanske inte matchar enhetens aktuella orientering. Standardorienteringen väljs till exempel framför upp och ned-orientering (AIR 3.2 och tidigare) och den orientering som passar för utfällbara tangentbord väljs framför den motsatta orienteringen.

(AIR 3.3 och senare) Från och med AIR 3.3 (SWF-version 16) kan du även använda konstanten StageAspectRatio.ANY . Om Stage.autoOrients är inställt på true och du anropar setAspectRatio(StageAspectRatio.ANY) kan programmet orienteras om till alla orienteringslägen (liggande vänster, liggande höger, stående och stående upp och ned). En annan nyhet i AIR 3.3 är att proportionen är bestående och att ytterligare rotation av enheten är begränsad till den specifika orienteringen.

Exempel: Ange scenens orientering så att den matchar enhetens

Följande exempel visar en funktion som uppdaterar scenens orientering så att den matchar enhetens aktuella orientering. Egenskapen deviceOrientation för scenen anger enhetens fysiska orientering, även när automatisk orientering är inaktiverat.

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

Orienteringsändringen är asynkron. Du kan lyssna efter orientationChange -händelsen som skickas av scenen för att identifiera att ändringen har slutförts. Om en orientering inte stöds på en enhet misslyckas setOrientation() -anropet utan att något fel genereras.