0

我正在寻找使用动画弹出窗口影响。

问题是效果应用于弹出窗口的内容,而不是弹出窗口本身(包括标题栏、最小化、最大化按钮等)

看看这里的结果..

动画的结果

我的代码非常简单且合乎逻辑,如果可以为窗口设置动画,应该可以工作。

<?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>
4

1 回答 1

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而不是窗口的内部。

于 2012-08-13T19:05:32.033 回答