Добавление эффектов к пользовательскому компоненту flex

StackOverflow https://stackoverflow.com/questions/1448240

Вопрос

У меня есть гибкое приложение, и я хочу добавить новый пользовательский компонент со сценарием действия во время выполнения.Это работает нормально.Я создал свой пользовательский компонент и добавил следующий код:

var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;

Но моя проблема в том, что эффект затухания не работает.Я знаю, что правильно объявил эффект, потому что, если я использую его в другом компоненте (например, панели), он работает нормально.Кто-нибудь может помочь мне с этой проблемой?С наилучшими пожеланиями!

Это было полезно?

Решение 2

Наконец-то я решаю проблему по-другому.Вместо добавления компонента во время выполнения я добавил компонент в приложение со свойством visible, установленным в false, и я меняю его на true, когда мне нужно.

Другие советы

Убедитесь, что вы вызываете любые переопределенные суперфункции Flex в вашем подклассе FreeView.

Особенно обновленный список воспроизведения и свойства фиксации:

override protected function updateDisplayList(w:Number, h:Number)
{
    super.updateDisplayList(w, h);

    // Your code here.
}


override protected function commitProperties()
{
    super.commitProperties();

    // Your code here.
}

Переопределяете ли вы один из классов контейнеров высокого уровня (напримерХолст или HBox) или UIComponent?

вы можете сделать это наоборот, установив целевые эффекты для вашего нового элемента

<mx:Fade id="showFlag" alphaFrom="0" alphaTo="1" duration="5000"/>

var flag:Image = new Image;
flag.source = flagSource;

something.addElement(flag);

showFlag.target = flag;
showFlag.play();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top