Manuelle Ausrichtung

AIR 2.6 und höher

Sie können die Bühnenausrichtung mit den setOrientation() - oder setAspectRatio() -Methoden steuern.

Einstellen der Bühnenausrichtung

Sie können die Bühnenausrichtung zur Laufzeit mit der setOrientation() -Methode des Stage-Objekts festlegen. Geben Sie die gewünschte Ausrichtung über die Stringkonstanten an, die von der StageOrientation-Klasse definiert werden:

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
Nicht alle Geräte und Betriebssysteme unterstützen jede Ausrichtung, die theoretisch möglich ist. So unterstützt Android 2.2 beispielsweise nicht die programmatische Auswahl der nach links gedrehten Ausrichtung auf Geräten, die standardmäßig das Hochformat haben. Die Ausrichtung auf dem Kopf wird überhaupt nicht unterstützt. Die supportedOrientations -Eigenschaft der Bühne bietet eine Liste der Ausrichtungen, die an die setOrientation() -Methode übergeben werden können:
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

Einstellen des Seitenverhältnisses der Bühne

Wenn das Seitenverhältnis der Bühne für Sie besonders wichtig ist, können Sie das Seitenverhältnis auf Hochformat oder Querformat einstellen. Das Seitenverhältnis kann entweder im AIR-Anwendungsdeskriptor oder zur Laufzeit über die setAspectRatio() -Methode der Bühne festgelegt werden:

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

Die Laufzeit wählt eine der beiden möglichen Ausrichtungen für das angegebene Seitenverhältnis. Diese Ausrichtung stimmt möglicherweise nicht mit der aktuellen Geräteausrichtung überein. Zum Beispiel wird die Standardausrichtung anstelle der auf dem Kopf stehenden Ausrichtung gewählt (AIR 3.2 und früher), und die Ausrichtung, die sich für die Slide-out-Tastatur eignet, wird anstelle der entgegengesetzten Ausrichtung gewählt.

(AIR 3.3 und höher) Beginnend mit AIR 3.3 (SWF-Version 16) können Sie auch die StageAspectRatio.ANY -Konstante verwenden. Wenn Stage.autoOrients auf true gesetzt ist und Sie setAspectRatio(StageAspectRatio.ANY) aufrufen, kann sich Ihre Anwendung in alle Ausrichtungen neu ausrichten (landscape-left, landscape-right, portrait, und portrait-upside-down). Ebenfalls neu in AIR 3.3 ist, dass das Seitenverhältnis persistent ist und die weitere Drehung des Geräts auf die angegebene Ausrichtung beschränkt ist.

Beispiel: Einstellen der Bühnenausrichtung entsprechend der Geräteausrichtung

Das folgende Beispiel zeigt eine Funktion, die die Bühnenausrichtung so aktualisiert, dass sie der aktuellen Geräteausrichtung entspricht. Die deviceOrientation -Eigenschaft der Bühne gibt die tatsächliche Ausrichtung des Geräts an, selbst wenn die automatische Ausrichtung deaktiviert ist.

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

Die Änderung der Ausrichtung erfolgt asynchron. Sie können auf das von der Bühne ausgelöste orientationChange -Ereignis warten, um zu erkennen, wann die Änderung abgeschlossen ist. Wenn die Ausrichtung auf einem Gerät nicht unterstützt wird, schlägt der setOrientation() -Aufruf ohne Ausgabe einer Fehlermeldung fehl.