Estoy buscando animar una ventana emergente usando el efecto.
El problema es que el efecto se aplica al contenido de la ventana emergente, no a la propia ventana emergente (incluida la barra de título, minimizar, maximizar botones, etc.)
Echa un vistazo al resultado aquí ..
Mi código es realmente simple y lógicamente, debería funcionar si es posible animar una ventana.
<?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">
<fx:Script>
<![CDATA[
import comps.MyWin;
[Bindable]
private var _win:MyWin;
protected function openPopup():void
{
_win = new MyWin();
_win.width = 300;
_win.height = 300;
_win.open();
}
protected function animatepopup():void
{
MyEffect.play();
}
]]>
</fx:Script>
<fx:Declarations>
<s:Move id="MyEffect" xFrom="{_win.x}" xTo="{_win.x + 150}" target="{_win}"/>
</fx:Declarations>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:Button label="Open" click="openPopup()"/>
<s:Button label="Animate" click="animatepopup()"/>
</s:WindowedApplication>
Respuestas
1 para la respuesta № 1Creo que necesitas apuntar al objeto "s". NativeWindow
instancia con el fin de mover y cambiar el tamaño del objeto.
Por lo tanto, reemplazar _win.myProperty
con _win.stage.nativeWindow.myProperty
:
<s:Move id="MyEffect" xFrom="{_win.stage.nativeWindow.x}" xTo="{_win.stage.nativeWindow.x + 150}" target="{_win.stage.nativeWindow}"/>
Entonces, la animación afectará a la NativeWindow
Y no los internos de la ventana.