개발중인 앱은 가로 모드로만 표시되어야합니다. 내 응용 프로그램 설명자에서가로로 시작하는 Adobe AIR Android가 작동하지 않습니다.
은 내가 iOS 기기의 응용 프로그램이 가로 모드에서 시작됩니다 예상대로 모든 작품에
<aspectRatio>landscape</aspectRatio>
<autoOrients>false</autoOrients>
있습니다.
하지만 내 안드로이드 장치 (삼성 갤럭시 S3)에 배포하려고하면 응용 프로그램이 세로 모드로 실행됩니다.
내가 설명자 파일을 수정
읽을 :<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
다음 응용 프로그램은 방향을 변경하는 것입니다.
을 :
디버깅하는 동안 내가 시작하는 애플 리케이션 방향이 stage.orientation는 == "기본"또한 내가 내 app.xml (응용 프로그램 설명자 파일)에 특정 구성을 안드로이드에 android:screenOrientation="landscape"
을 추가 한
것을 발견
<android>
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
<application android:enabled="true">
<activity android:excludeFromRecents="false" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
]]>
</manifestAdditions>
<!--Color depth for the app (either "32bit" or "16bit"). Optional. Default 16bit before namespace 3.0, 32bit after -->
<!--<colorDepth></colorDepth>-->
</android>
이 것이 알려진 문제입니까? 이것의 원인이 무엇일까요?
편집 :
내 메인 클래스에 stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
를 사용하여 끝났다. PORTRAIT 이외의 기본 방향을 가진 장치에서도 작동합니다.
'StageOrientation'상수를 사용하여 가로인지 여부를 결정할 수 없습니다. 그들은 기본 방향에 의존합니다. 항상 기대 한 것과 다를 수 있습니다 (일부는 더 넓은 태블릿이 기본으로 풍경을 사용하고 대부분은 초상화를 사용함). 'stage.stageWidth'가'stage.stageHeight'보다 큼 (가로 방향)/작은 (세로 방향) 회전 및 올바른 방향으로 있는지 확인해야합니다. –
동의하지만 전화 기본값은 항상 세로이므로 회전 된 방향은 항상 가로 방향입니다. 내가 명확하게 대답을 편집했습니다. –
당신은 일반적으로 생각할 수있는 것이 옳았지 만, 손에서 손을 떼어내어 제조사 또는 더 나쁜 Adobe에 넣을 때 의지하면 안됩니다. AIR 자체는 장치 자체가 정확함에도 불구하고 과거의 잘못된 기본 방향을보고하는 것으로 알려져 있습니다 (첫 번째 망막 iPad에는이 문제가 분명히 있었고 첫 번째 망막 iPhone도있을 수 있음) –