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