Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Flex 4 - Своя реализация Layout - как ? (http://www.flasher.ru/forum/showthread.php?t=149371)

ShockWave512 24.01.2011 01:17

Flex 4 - Своя реализация Layout - как ?
 
Flex 4 - Своя реализация Layout - как ?

пытаюсь соорудить свой tile-подобный лайоут
наследую от LayoutBase и т.д.
вопрос в следующем:
когда в методе updateDisplayList, дергаются итемы контейнера, в какой момент к ним идет обращение, до отрисовки или после ? (до set data ? после ? )

я пробовал стандартный TileLayout, но, видимо из-за того что у всех итемов разная высота, которая высчитывается после поступления данных, все там сбивается в кашу из-за нулевой высоты

как порешать проблему ?
как насильно пересчитать лайоут, после отрисовки всех элементов ?

alatar 24.01.2011 11:10

Цитата:

когда в методе updateDisplayList, дергаются итемы контейнера, в какой момент к ним идет обращение, до отрисовки или после ?
Метод updateDisplayList вызывается группой, которой назначен этот layout в ее updateDisplayList. Т.е. при отрисовке. В этот момент никаких обращений к итемам не идет.
Цитата:

(до set data ? после ? )
При чем тут это вообще? Если вы меняете размер итемов, то должны вызвать invalidateDisplayList()

Добавлено через 40 секунд
Покажите, что вы делаете. Посмотрю, что не так.

†‡Paladin‡† 24.01.2011 13:29

В сеттере data нужно написать
invalidateSize();
invalidateProperties();
invalidateDisplayList();

Естественно если айтемы самописные, то вы должны позаботиться о том, что-бы метод measure выставлял правильные measuredWidth и measuredHeight


Часовой пояс GMT +4, время: 13:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.