重新加载应用后,Android会忽略XML中的autoOrients设置

时间:2013-04-03 16:02:17

标签: android flex mobile flex4.6

我的Android应用程序存在一个小问题。 在我的控制XML中我有

<autoOrients>false</autoOrients>
<aspectRatio>landscape</aspectRatio> 

这也适用于应用程序的第一次启动。该应用程序以横向模式启动,一切正常。 然后,我单击主页按钮(或手机进入待机模式)。现在我从任务列表中选择应用程序或单击应用程序图标。该应用程序现在处于纵向模式(他不是为此设计的),因为我已禁用autoOrients,我无法切换回横向模式。

这是Flex 4.6中的错误(我使用Adobe Flash Builder 4.6)还是缺少其他一些开关?

最好的问候KjM

3 个答案:

答案 0 :(得分:0)

我遇到了类似的问题;我相信某些版本的Android。我在这个主应用程序文件中添加了这样的代码。它使用applicationComplete和activate事件在运行时设置应用程序的宽高比。它是描述符设置变得难以置信时的备份。

<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                            xmlns:s="library://ns.adobe.com/flex/spark" 
                            firstView="something"   
applicationComplete="viewnavigatorapplication1_applicationCompleteHandler(event)"
activate="viewnavigatorapplication1_activateHandler(event)">

    <fx:Script>
        <![CDATA[

            import mx.events.FlexEvent;


            protected function viewnavigatorapplication1_applicationCompleteHandler(event:FlexEvent):void
            {
                this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );
            }

            protected function viewnavigatorapplication1_activateHandler(event:Event):void
            {
                if(this.stage){
                    this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );
                }
            }

        ]]>
    </fx:Script>

答案 1 :(得分:0)

添加

<activity
            android:name="xxxx"
            android:label="xxxxx"
            android:screenOrientation="landscape" >

到清单

中的活动代码

答案 2 :(得分:0)

在main-app.xml中输入以下值

<aspectRatio>portrait</aspectRatio>
<autoOrients>false</autoOrients>

无论移动设备的方向如何,您的移动应用程序现在都将以纵向宽高比开始。您的应用现在会忽略移动设备的轮换。