通过显式设置宽度和高度以响应用户交互,我得到了看似简单的调整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>
答案 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
处理程序。尝试将BorderContainer
与backgroundColor
一起使用。