在Flex中如何使窗口无法调整大小?

时间:2011-04-26 22:50:45

标签: flex flex4 air

所以我试图打开第二个窗口,这个窗口是一个固定大小的窗口。我已将resizable属性设置为false,但这似乎没有任何影响。

这是我的示例代码

主要应用

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       height="600"
                       creationComplete="onCreationComplete()">
    <fx:Script>
        <![CDATA[
            import foo.TestWindow;

            protected function onCreationComplete():void
            {
                var window:TestWindow = new TestWindow();
                window.open();
            }

        ]]>
    </fx:Script>
</s:WindowedApplication>

TestWindow

<?xml version="1.0" encoding="utf-8"?>
<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"
          resizable="false">

    <s:Label text="this window should not be resizable" />
</s:Window>

当我运行此代码时,我的期望是TestWindow不应该可以调整大小。但是我可以毫无问题地调整它。我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:3)

我正在使用Flash Builder 4.5,根标记为s:WindowedApplication 而不是 s:Window正如您所说;而且没有名为“可调整大小”的财产 在我寻找更好的解决方案的同时,我发现了这一点。希望能帮到你:
http://www.actionscript-flash-guru.com/blog/16-code-for-a-resizable-window-in-as3

这是一个非常简单的解决方案:
转到应用程序的src文件夹,然后打开HalloFlex-app.xml文件。这是应用程序配置文件,并对此文件中的可最大化和可调整大小的属性进行以下调整:

<maximizable>false</maximizable>  
<resizable>false</resizable>  

这样,您的应用程序窗口既不可调整大小也不可最大化。 谢谢!

答案 1 :(得分:1)

好吧,我明白了。您还需要将maximizable属性设置为false以使其正常工作...

答案 2 :(得分:0)

我不确定为什么这不起作用,但你可以尝试设置maxWidth,minWidth,maxHeight和minHeight。