Как реализовать в Flex эффекты при создании или удалении компонентов

У меня есть несколько настраиваемых компонентов MXML, которые я добавляю на лету (с помощью повторителя), привязанных к коллекции ArrayCollection. Поэтому каждый раз, когда я добавляю / удаляю элемент из ArrayColleciton, новые элементы отображаются / исчезают с экрана.

Есть ли простой способ заставить элементы исчезать, когда они создаются, и исчезать, когда они удаляются? Я думал об использовании состояний и эффектов перехода между состояниями, но это немного усложнит работу этих компонентов для управления состояниями в разных частях моего приложения.


person Tam    schedule 02.10.2010    source источник


Ответы (1)


Вам нужны «эффекты данных», а не «переходы состояний». Создание эффекта такое же, но способ его настройки немного отличается. Взгляните на этот список:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/UIComponent.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#top

В частности, вы, вероятно, захотите использовать addedEffect, когда что-то добавляется, и removeEffect, когда что-то удаляется. Вы также можете изучить hideEffect и showEffect.

Таким образом, вместо создания массива переходов вы установите эффект так, как если бы он был стилем в ActionScript. В MXML установите его как свойство компонента.

И я настоятельно рекомендую не использовать ретрансляторы, если есть вероятность, что ваши данные будут прокручиваться за пределами экрана. Повторитель будет отображать каждый элемент в вашем dataProvider. Список будет отображать только те элементы, которые отображаются на экране. Списки в этом отношении намного эффективнее.

person JeffryHouser    schedule 03.10.2010