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