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