Я хотел бы создать компонент, который применяет эффект изменения размера, когда он виден:
Я сделал это:
<s:Panel id="loginPanel" title="Connect" creationCompleteEffect="customResize"
showEffect="customResize" hideEffect="fadeOut"
width="400" height="300" includeIn="login">
с:
<fx:Declarations>
<!-- Effects declaration -->
<s:Fade id="fadeIn" alphaFrom="0.0" alphaTo="1.0" duration="500"/>
<s:Fade id="fadeOut" alphaFrom="1.0" alphaTo="0.0" duration="500"/>
<s:Animate id="customResize" duration="1000">
<s:SimpleMotionPath property="percentWidth" valueFrom="0" valueTo="100"/>
<s:SimpleMotionPath property="percentHeight" valueFrom="0" valueTo="100"/>
</s:Animate>
</fx:Declarations>
Проблема в том, что когда компонент отображается в первый раз, эффект корректно воспроизводится, но когда состояние меняется, например, с «вход в систему» на «работает», а затем обратно на «вход», эффект не воспроизводится больше.
Я думал, что событие видимости было бы отправлено и применен showEffect, но кажется, что изменения состояния не работают так, как я ожидал.
Как применить эффект каждый раз, когда компонент виден?