내가 두려워 좀 더 논리 바리스 Uşaklı으로 언급하고있다. 내가 언급 한 바에 따르면, StageOrientation.DEFAULT
은 장치의 기본 방향을 나타내지 만 가로 또는 세로인지 여부는 알 수 없습니다.
다행히도이를 해결할 수있는 간단한 방법이 있습니다. 장치가 기본/거꾸로 된 방향인지 간단히 확인하고 너비/높이를 확인하십시오. 당신은 아마 조금 그것을 청소 수 있도록
var defaultPositionIsLandscape:Boolean = false;
if (stage.orientation == StageOrientation.DEFAULT || stage.orientation == StageOrientation.UPSIDE_DOWN) {
defaultPositionIsLandscape = stage.stageWidth > stage.stageHeight;
}
else {
defaultPositionIsLandscape = stage.stageWidth < stage.stageHeight;
}
if (isTablet) {
if (defaultPositionIsLandscape) {
stage.setOrientation(StageOrientation.DEFAULT);
}
else {
stage.setOrientation(StageOrientation.ROTATED_LEFT);
}
}
논리는 좀 지저분하지만 그 일이 무슨의 일반적인 요점이다. 필자는 개인적으로 가장 쉬운 접근을 위해 DeviceCapabilities 클래스에 정적 인 읽기 전용 getter를 만들 것입니다. StageOrientation.UPSIDE_DOWN
인 경우 회전을 피하기 위해 확대 할 수도 있습니다. 기술적으로 정확한 방향이므로 거꾸로만 입력하십시오.
"StageOrientation.DEFAULT"는 장치의 기본값과 관련이 있습니다. 일반적으로 거의 모든 휴대 전화가 기본적으로 세로로 표시되어야하기 때문에 휴대 전화는 일반적으로 괜찮습니다. 일부 타블렛은 기본적으로 가로로 표시됩니다. (Asus Transformer Prime은 하나입니다.) –
'stage.deviceOrientation'이 도움이 될 수 있습니까? –
아니요, 'deviceOrientation' 및 orientation)은 똑같은 정보를보고하고 동일한 StageOrientation 상수에 의존하는 것처럼 보입니다. 기본 응답이 가로 또는 세로인지 확인하기 위해 추가 논리가 필요합니다. –