![]() |
Изменение размера элементов при изменении размера parent
Суть проблемы в следующем.
Есть флэшка, которая динамически изменяет свой размер с помощью js. Так вот, когда она изменяет свой размер, то все потомки автоматически тоже изменяют размер, кроме того изменяется и просто положение этих элементов, хотя всем им жестко прописаны соответствующие координаты. Как сделать так, чтобы размеры у детей не менялись и лэйаут оставался прежним? Я уже замучался, и scale пробовал, и просчитывал размеры в зависимости от размеров стейджа - ведет себя непонятно все равно. И вообще не очень понимаю, как работает механизм изменения размеров у детей при изменении размеров у родителей. Может дадите умные советы? Был бы очень благодарен |
Код AS3:
|
Спасибо, но это не влияет.
Я, в принципе, знаю, что при изменении размеров у parent, нужно изменять и размеры у child соответствующим образом или вообще лучше не пихать в этот parent, но что за бред? Это мало поддается какой-то логике, по крайней мере очень тяжело становится реализовывать контейнеры. В том же свинге ничего подобного просто нет. Немного диковато выглядит с первого раза. Может есть какие-то решения? Просто как тогда в том же флексе все работает? Или там играет тот факт, что в updateDisplayList передаются unscaledHeight, unscaledWidth? |
можнон прпобовать так:
- передаете через флешварс исходные размеры ролика (или зашиваете их во флешку) - далее слушаем событие ресайза и просходимся циклом по всем детишкам, на основении деофлтных занчений флешки ставим им размер и местоположение имхо удобный вариант |
У Вас все дети лежат в контейнере, размер которого меняется?
Сделайте один мувик бекграундом, размер которого собираетесь изменять, а всех детей проинициализируйте отдельно, вот и все. При изменении флешки меняться будет только бекграунд, а координаты и размер кнопок, мувиков и прочего останутся неизменными.. |
В общем случае, если вы хотите сделать контейнер как во флексе, вам нужно переопределить для него геттеры и сеттеры width и height, и при изменении соответственно менять размеры одних детей и координаты других.
|
Всем спасибо, все сделал.
Хотелось бы только понять, как переопределить геттеры и сеттеры width и height в таком случае? Внутри самого флекса у UIComponent в этих сеттерах по сути вызываются только invalidate разные, которые в конечном счете приводят к measure и updateDisplayList. То есть вот таким макаром действовать? |
Код AS3:
|
| Часовой пояс GMT +4, время: 00:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.