У меня есть панель с кнопкой. Нажатие на кнопку направит панель в состояние «State2», добавив еще две кнопки на панель. Во время изменения состояния я хочу сначала изменить размер панели, а затем отобразить добавленные две кнопки, поэтому я применил переходы к изменению состояния.
Мой вопрос:
Если я поместил две кнопки внутри HBox прямо под тегом addChild, он будет работать нормально. Однако, если я создам новый компонент с тем же кодом (HBox с двумя кнопками в нем), а затем добавлю новый компонент на панель (Comp в коде прокомментирован), он не будет отображать эффект изменения размера.
Может кто-нибудь сказать мне, как это исправить? Заранее спасибо.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<mx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
currentState="State2";
}
]]>
</mx:Script>
<mx:transitions>
<mx:Transition>
<mx:Sequence targets="{[comp,panel1]}">
<mx:Resize target="{panel1}" />
<mx:AddChildAction />
</mx:Sequence>
</mx:Transition>
</mx:transitions>
<mx:states>
<mx:State name="State2">
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:HBox id="comp">
<mx:Button label="B" />
<mx:Button label="C" />
</mx:HBox>
<!--<local:Comp id="comp" />-->
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Panel layout="horizontal" borderThickness="1" borderStyle="solid" id="panel1" title="AB">
<mx:Button label="A" click="button1_clickHandler(event)"/>
</mx:Panel>
</mx:Application>