Apache flex 完全可重新调整大小的应用程序-Flex 4.5

Apache flex 完全可重新调整大小的应用程序-Flex 4.5,apache-flex,layout,flex4,resize,autoresize,Apache Flex,Layout,Flex4,Resize,Autoresize,我想使用Flex4.5创建一个完全可重新调整大小的应用程序。我已经尝试过了,但我的方法似乎很难维持,所以我觉得不太好。我的做法如下: 关于HTML,我实际上有一个第一页,它检测用户的监视器分辨率,然后重定向到flash容器HTML(一个JSP),它读取宽度和高度参数,并按照传递的大小呈现flash 在我的应用程序中,我使用1280x720作为参考大小,因此我创建了一个实用程序类: 包utils { 导入mx.collections.ArrayCollection; 导入mx.core.FlexG

我想使用Flex4.5创建一个完全可重新调整大小的应用程序。我已经尝试过了,但我的方法似乎很难维持,所以我觉得不太好。我的做法如下:

  • 关于HTML,我实际上有一个第一页,它检测用户的监视器分辨率,然后重定向到flash容器HTML(一个JSP),它读取宽度和高度参数,并按照传递的大小呈现flash
  • 在我的应用程序中,我使用1280x720作为参考大小,因此我创建了一个实用程序类:
  • 包utils { 导入mx.collections.ArrayCollection; 导入mx.core.FlexGlobals; 导入mx.resources.ResourceManager; 导入mx.utils.ObjectProxy

    /**
     *
     * @author user
     *
     */
    public final class LayoutUtils
    {
        /**
         *
         *
         */
        public function LayoutUtils()
        {
            throw new Error("Boooohhhhhhhhhh");
        }
    
        public static function relativeToHeight(percentageValue:Number):Number
        {
            return percentageValue * FlexGlobals.topLevelApplication.height / 100; 
        }
    
        public static function relativeToWidth(percentageValue:Number):Number
        {
            return percentageValue * FlexGlobals.topLevelApplication.width / 100; 
        }
    }
    
    }

    我传递了相对于高度或宽度的百分比值,然后我得到了它。因此,我实际上将组件的高度/宽度绑定到例如
    {LayoutUtils.relativeToWidth(50)}
    ,如果我的应用程序宽度为1280,它将返回640。但这意味着要为几乎每个组件设置宽度和/或高度,这还包括填充和锚定位置,这会让它变得一团糟

    你还有其他建议吗?我希望所有的东西都能正确调整大小(包括字体)。我将要提供的所有可用尺寸都将保持相同的纵横比,例如16:9,因为我看不到任何其他方法


    有什么建议吗

    如果要缩放任何内容,请在应用程序容器(sprite)上使用
    scaleX
    scaleY
    ,然后设置


    谢谢你的回答。我还没有测试它,所以如果我在我的应用程序的创建完成处理程序中包含u键入的代码,并且我将SWF文件包含在两个不同的html文件中,一个将对象定义为1280x720,另一个1600x900,那么整个应用程序(字体等)将相应地缩放?是,在调试播放器中尝试并调整窗口大小。它应该可以缩放。我还需要在浏览器中重新调整flash对象的大小,以便进行水平中心定位。我希望一切都会好起来。再次感谢!你可以看看。我不确定你想要什么“完全可调整大小”。默认情况下,只要HTML容器也调整大小,Flex就可以调整大小。除非您想要的是伸缩性(默认情况下不会)。
    stage.scaleMode = StageScaleMode.SHOW_ALL;