разборные макеты в flex - PullRequest
1 голос
/ 06 июля 2010

Я только что закончил свой первый месяц освоения Flex. Все мои проекты до сих пор были очень маленькими контейнерами фиксированного размера со всем в приложении, находящимся в абсолютном положении.

Следующий и предстоящий проект потребует более динамичной компоновки и некоторого совета.

Приложение будет состоять из 3 контейнеров (пока не знаю, какие из них использовать)

Контейнер 1

Будет всей шириной приложения и четвертью его высоты.

Контейнер 2 Будет под контейнером 1. Это будет половина ширины приложения и 3 четверти его высоты.

Контейнер 3 будет таким же, как контейнер 2.

Я хочу иметь возможность свернуть каждый контейнер и заставить другие контейнеры реагировать на это.

Например, я хотел бы свернуть контейнер 1, чтобы контейнеры 2 и 3 переместились с высоты 3 четвертей на 100% высоты.

Если я сверну контейнер 2, conatainer 1 останется прежним, но контейнер 3 переместится с половины ширины приложения до 100% ширины.

Трудно ли делать подобные вещи. Где хорошее место, чтобы начать изучать это.

Ссылка на учебное пособие была бы отличной, или любые предложения советов, что можно сделать, а что нельзя делать:

Спасибо, ребята,

даб

1 Ответ

1 голос
/ 06 июля 2010

Я пишу это из памяти (поскольку у меня нет FB для проверки сейчас), поэтому дайте мне знать, если это не сработает, и я удалю его.

<mx:VBox width="800" height="600">
  <custom:Comp1 width="100%" height="25%"/>
  <mx:HBox width="100%" height="75%">
    <custom:Comp2 width="50%" height="100%"/>
    <custom:Comp3 width="50%" height="100%"/>
  </mx:HBox>
</mx:VBox>

Когдавы что-то свернете, установите его width и height на ноль.Когда вы развернете его, установите для percentWidth и percentHeight их исходные значения.

Попробуйте использовать 100% везде и посмотрите, работает ли это;если нет, используйте указанные значения и выполните следующие действия:

  • Когда вы свернете comp1, установите hbox's percentHeight на 100
  • Когда вы свернете comp2 или comp3, установите другойpercentWidth до 100.
  • Восстановление значений при расширении.
...