PDA

Просмотр полной версии : Flex 4 - Своя реализация Layout - как ?


ShockWave512
24.01.2011, 01:17
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