如何在Flex Mobile中为某些视图启用方向更改?

时间:2013-05-02 10:40:37

标签: actionscript-3 flex flex4 flash-builder flex4.5

我在我的移动应用程序(对于ios和android)中有一些视图,其方向在设置xml文件中使用PORTRAIT固定为<aspectRatio>portrait</aspectRatio><autoOrients>false</autoOrients>

现在我添加了另一个播放Youtube视频的视图,它应该可以在LANDSCAPE&amp; PORTRAIT方向。所以我遇到了this question,它提供了一个仅限制1个方向的解决方案(全局视图),但是如何才能为一个视图重新启用方向更改?

注意:我使用的是Flash Builder 4.6 with actionscript 3和youtube api

感谢任何帮助:)

1 个答案:

答案 0 :(得分:2)

从XML移除 <aspectRatio>portrait</aspectRatio><autoOrients>false</autoOrients> ,因为它会为整个应用程序推广它。

分别针对每个视图进行分析。因为对于第一个视图,你需要一个 PORTRAIT ,就这样做。(取自Adobe Docs

stage.addEventListener( StageOrientationEvent.ORIENTATION_CHANGING, onOrientationChanging ); 

function onOrientationChanging( event:StageOrientationEvent ):void {
    // If the stage is about to move to an orientation we don't support, lets prevent it
    // from changing to that stage orientation.
    if(event.afterOrientation == StageOrientation.ROTATED_LEFT || event.afterOrientation==StageOrientation.ROTATED_RIGHT ) 
    {
        event.preventDefault();
    }
}

对于第二个视图,请不要定义任何舞台方向侦听器,因为您需要 PORTRAIT LANDSCAPE