宽度太大了

时间:2013-05-27 23:34:50

标签: actionscript-3 flash flex width percentage

我正在尝试构建一种在调用时重叠的菜单(通过按菜单按钮)。 由于这将是一个移动应用程序,我希望所有度量都是响应式的,因此以百分比而不是像素写入。

我在某种程度上试图像Facebook App那样在菜单中制作幻灯片。

我的解决方法是使用0%宽度的侧边菜单。按下菜单按钮后,菜单将扩展到设备屏幕宽度的70%,从而覆盖宽度的70%。

我一直在努力做到这一点

<fx:Script>
<![CDATA[           
  protected function button1_clickHandler(event:MouseEvent):void {

    trace( stage.fullScreenWidth, stage.fullScreenHeight );             
    trace(meny.width);

    if (meny.width !== 0) {
      meny.width = 0;
    } else {
      meny.width = 0.5*stage.fullScreenWidth;
    }
  }         
]]> 
</fx:Script>

当我调试跟踪的节目时,我是正确的值。在这种情况下模拟iPhone 4它给我:540(宽度)960(高度)和270(meny.width)。

然而,即使计算是正确的(270是540的50%),meny的宽度将覆盖超过屏幕的一半,大约80%〜

为什么这样做以及解决方案是什么?调试控制台给了我正确的值,但它没有开始工作。 我也试过插入的Android设备和同样的问题,所以这不是模拟的问题。

任何解决方案都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我建议您使用应用程序宽度的大小而不是舞台宽度: menu.width=parentApplication.width

在添加一些全局事件侦听器或使用StageWebViewStageVideo之类的内容之前,您无需处理舞台大小

您可以阅读此articale about mobile apps auto scaling了解详情。