我希望使用 效果为弹出窗口设置动画。
问题是效果是应用于弹出窗口的内容,而不是弹出窗口本身(包括标题栏,最小化,最大化按钮等)
在这里查看结果..
我的代码非常简单且逻辑上,如果可以为窗口设置动画,它应该可以工作。
<?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>
答案 0 :(得分:1)
我认为您需要定位对象的NativeWindow
实例,以便移动对象并调整其大小。
因此,请将_win.myProperty
替换为_win.stage.nativeWindow.myProperty
:
<s:Move id="MyEffect" xFrom="{_win.stage.nativeWindow.x}" xTo="{_win.stage.nativeWindow.x + 150}" target="{_win.stage.nativeWindow}"/>
然后,动画将影响NativeWindow
而不影响窗口的内部。