Во Flex какая разница между скином и itemRenderer?

Действительно, они оба (скины и itemRenderers), кажется, рисуют, используя пакет flash.graphics. *. Я уже копировал вставленный код между скинами и itemRenderers, так что я действительно не понимаю разницу. У меня было больше опыта реализации itemRenderers, чем скинов, так что это может быть частью проблемы. Спасибо, дайте мне знать.

1 ответ

Решение

Скин - это графический элемент, который можно применять к различным компонентам UIC. Контейнеры могут иметь borderSkins, а кнопки могут иметь различные скины вверх / вниз / вниз. Они могут быть реализованы несколькими способами, включая использование API рисования ("Программные оболочки") или посредством встраивания ресурсов ("Графические оболочки"). Скины обычно довольно легкие и могут быть только Flash DisplayObject, а не Flex UIComponent, который является более тяжелым, но содержит гораздо больше функций.

ItemRenderer - это, как правило, UIComponent, который элемент управления на основе списка использует для отображения элемента. Вы также обычно используете itemRenderers при использовании DataGrid/DataGridColumn. Большинство компонентов, использующих itemRenderers, перерабатывают их, что означает, что они создают примерно столько, сколько необходимо для отображения на экране, и когда пользователь прокручивает данные, те же самые itemRenderers перемещаются и получают новые данные, подключенные к ним. Это одна из причин, по которой списки и DataGrid могут поддерживать большие объемы данных и почему попытки выполнить аналогичные действия с помощью Repeater приводят к приложениям с ужасной производительностью.

Другие вопросы по тегам