수동 방향

AIR 2.6 이상

Stage setOrientation() 또는 setAspectRatio() 메서드를 사용하여 스테이지 방향을 제어할 수 있습니다.

스테이지 방향 설정

Stage 객체의 setOrientation() 메서드를 사용하여 런타임에 스테이지 방향을 설정할 수 있습니다. 다음과 같이 StageOrientation 클래스를 통해 정의된 문자열 상수를 사용하여 원하는 방향을 지정합니다.

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
일부 장치 및 운영 체제에서는 특정 방향을 지원하지 않습니다. 예를 들어 Android 2.2에서는 세로 표준 장치에서 왼쪽으로 회전된 방향을 프로그래밍 방식으로 선택할 수 없을 뿐 아니라 위/아래가 뒤집힌 방향은 전혀 지원하지 않습니다. 스테이지의 supportedOrientations 속성은 setOrientation() 메서드로 전달할 수 있는 방향의 목록을 제공합니다.
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

스테이지 종횡비 설정

주로 염려되는 부분이 스테이지의 종횡비인 경우 종횡비를 세로 또는 가로로 설정할 수 있습니다. 종횡비는 AIR 응용 프로그램 설명자에서 또는 런타임에 Stage setAspectRatio() 메서드를 사용하여 설정할 수 있습니다.

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

런타임에서는 지정된 종횡비에 대해 사용 가능한 두 가지 방향 중 하나를 선택합니다. 이는 현재 장치 방향과 일치하지 않을 수 있습니다. 예를 들어 기본 방향이 위/아래가 뒤집힌 방향에 우선하여 선택되고(AIR 3.2 이하), 슬라이드 키보드에 적합한 방향이 반대 방향에 우선하여 선택됩니다.

(AIR 3.3 이상) AIR 3.3(SWF 버전 16)부터는 StageAspectRatio.ANY 상수를 사용할 수도 있습니다. Stage.autoOrients true 로 설정된 상태에서 setAspectRatio(StageAspectRatio.ANY) 를 호출하면 응용 프로그램에서 모든 방향(가로-왼쪽, 가로-오른쪽, 세로, 세로-거꾸로)을 다시 지정할 수 있습니다. 또한 AIR 3.3부터는 종횡비가 영구적이며, 지정된 방향에서 장치를 더 회전할 수 없습니다.

예: 장치 방향과 일치하도록 스테이지 방향 설정

다음 예제에서는 현재 장치 방향과 일치하도록 스테이지 방향을 업데이트하는 함수를 보여 줍니다. 스테이지의 deviceOrientation 속성은 자동 방향이 해제되어 있는 경우에도 장치의 물리적 방향을 나타냅니다.

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

방향은 비동기적으로 변경됩니다. 스테이지에서 전달한 orientationChange 이벤트를 수신하여 변경이 완료되는 것을 감지할 수 있습니다. 장치에서 방향이 지원되지 않는 경우 오류가 발생하지 않은 상태로 setOrientation() 호출이 실패합니다.