【发布时间】:2013-10-06 08:01:41
【问题描述】:
我正在开发的应用应该只在横向模式下显示。
在我的应用描述符中
<aspectRatio>landscape</aspectRatio>
<autoOrients>false</autoOrients>
在 iOS 设备上,应用以横向模式启动,一切正常。
但是当我尝试在我的安卓设备(三星 Galaxy S3)上进行部署时,该应用程序以纵向模式启动。
当我修改要读取的描述符文件时:
<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
然后应用程序将改变方向。
调试时发现应用启动时的方向是stage.orientation == "default"
我还在我的 app.xml(应用描述符文件)中将 android:screenOrientation="landscape" 添加到 android 特定配置中:
<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 以外的默认方向的设备
【问题讨论】: