Flex component lifecycle
Друзья, прошу совета, ковыряюсь с flex component lifecycle и позникает
куча вопросов. 1. Если я расширяю UIComponent с вызовом методов инвалидации вроде все понятно - когда считаю нужным, тогда и вызываю. Однако если расширить например Canvas, он каким-то образом вызывает методы инвалидации когда ему угодно. Например добавляю child'а (знаю что предпочтительны свойства, метод применен для простоты): Код:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"> 2. Насколько я понимаю для компонентов с жестко определенными размерами measure не вызывается. Как этого добиться для собственых компонентов расширяющих UIComponent. 3. В какой момент для компонентов с фиксированными размерами устанавливать measuredHeight/measuredWidth. |
1. Canvas расширяет Container - базовый класс для почти всех контейнеров во флексе (Box, HBox, VBox & etc). Если посмотреть по коду то вызов идет такой
Container#addChild - > Container#addChildAt -> Container#addingChild - который и вызывает два метода invalidateSize, invalidateDisplayList 2. Вызывается, но потому что у контейнера фикс сайз он не вызывает валидацию у родителя. 3. А зачем? если у него фикс сайз или вы про свой кастомный компонент. Вообще есть три главных метода которые нужно переопределять measure, commitProperties, updateDisplayList Об этом можно тут прочитать - http://livedocs.adobe.com/flex/3/htm...dvanced_2.html |
7thsky™, спасибо за помощь!
Цитата:
Цитата:
Добавлено через 57 минут на третий вопрос отвечу сам - нужно в конструкторе установить explicitHeight/explicitWidth. |
Часовой пояс GMT +4, время: 02:36. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.