通过设置宽度和高度来调整火花组的大小

时间:2011-04-28 10:52:11

标签: flex

通过显式设置宽度和高度以响应用户交互,我得到了看似简单的调整Group容器大小的任务。但是,更改这些值根本不会影响容器的大小。更改scaleX和/或scaleY会改变容器的大小,但这不是我追求的行为。

我尝试重写updateDisplayList()来设置特定的宽度和高度,但这并没有产生预期的结果。

如果有人有一个好的教程链接或者可以以任何其他方式为解决方案做出贡献,那么我将非常感激。谷歌似乎不是我的朋友。

修改

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="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"
    click="resize()">
    <fx:Script> 
        <![CDATA[ 
            private function resize():void 
            { 
                width = 500; 
                height = 300; 
            } 
        ]]>
    </fx:Script>
</s:Group> 

2 个答案:

答案 0 :(得分:1)

实际上您的方法运行正常,但您需要在该组中包含一些内容,或者使用BorderContainer代替:

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"
    click="doResize();">
    <fx:Script>
        <![CDATA[

            public function doResize():void
            {
                this.width = 300;
                this.height = 200;
            }

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

为了坚持你的问题,我已经从主应用程序中将TextArea放入此Group实例中,并调整其大小。

答案 1 :(得分:0)

您的组视觉上为空,并且永远不会调用click处理程序。尝试将BorderContainerbackgroundColor一起使用。