Как я могу установить атрибут hideEffect для GridRow, используя actioncript в flex? - PullRequest
0 голосов
/ 15 декабря 2009

Я хочу установить эффект затухания для GridRow при его удалении с помощью функции removeChld ()

скажите, пожалуйста, решение ...

1 Ответ

0 голосов
/ 22 декабря 2009

Вы можете сделать это:

<?xml version="1.0" encoding="utf-8"?>
<mx:Grid xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
            import flash.display.DisplayObject;

            import mx.containers.GridRow;
            import mx.effects.Effect;
            import mx.effects.Fade;
            import mx.events.EffectEvent;

            override public function removeChild(child:DisplayObject):DisplayObject {
                if(child is GridRow) {
                    var fade:Fade = new Fade;
                    fade.alphaFrom = 1;
                    fade.alphaTo = 0;
                    fade.addEventListener(EffectEvent.EFFECT_END, fadeEndHandler);
                    fade.play([child]);
                } else {
                    super.removeChild(child);
                }

                return child;
            }

            private function fadeEndHandler(e:EffectEvent):void {
                super.removeChild(GridRow(e.effectInstance.target));
            }

        ]]>
    </mx:Script>
</mx:Grid>

Создайте новый компонент MXML, такой как FadingGrid, и используйте его как обычно. Однако теперь removeChildAt не переопределяется и, следовательно, его использование не приведет к эффекту затухания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...