2009-11-16 2 views
3

Есть ли хорошее место, где есть обзор того, как управляются элементы макета Flex?Flex Layout обзор - любой способ получить предпочтительный размер компонента?

Я пытаюсь создать некоторые «изменяемые пользователем» «окна» в Flex, но у меня возникли проблемы с правильной раскладкой компоновки содержимого.

Сейчас я просто пытаюсь понять, как Flex вычисляет свои макеты, но я не нашел хорошей обзорной документации.

Например, глядя только на значении width есть следующие:

minWidth 
maxWidth 
width 

explicitMinWidth 
explicitMaxWidth 
explicitWidth 

measuredMinWidth 
measuredMaxWidth 
measuredWidth 

и тот же набор для height.

В чем смысл каждого из них? Как они используются? Есть ли способ использовать их для вычисления некоторого предпочтительного размера компонента (например, getPreferredSize() в java)?

Ответы на этот вопрос по ширине и высоте были бы очень полезными, но если кто-нибудь знает какую-то хорошую документацию, которая касается материала компоновки Flex в целом, это было бы здорово.

ответ

0

Посмотрите на функцию measure() компонента. (docs) Это функция переопределения, если вы хотите изменить настройку размера по умолчанию.

EDIT: Имейте в виду, что каждый компонент обычно переопределяет функцию measure() UIComponent, поэтому нет единого места для понимания компоновки flex. UIComponent дает вам стартер, показывает, как работает двигатель, но каждый компонент имеет свой собственный конкретный способ угадать ожидаемый размер. Это замечательная работа в огромном количестве случаев, но в нее не так легко попасть, если магия не работает для вас.

+0

Но measure() должен быть в состоянии определить, какие размеры должны быть дочерними компонентами. И measure() защищен, поэтому я не могу называть его другими компонентами, чтобы заставить их выполнять вычисления. Я действительно ищу хорошую обзорную документацию о том, как все системы (измерение, различные свойства размера, invalidateSize и т. Д.) Свяжутся вместе и, как ожидается, будут работать. – Herms

+0

Прошу прощения, я действительно хотел посмотреть на функцию, то есть на источник, это открытый источник. Я знаю, на самом деле это не обзор, но вот где я буду/буду смотреть, если/когда мне нужно реализовать свой собственный макет. До сих пор я успешно откладывал этот хитрый copmlex, но я знаю, что наступит день, когда я тоже это сделаю. И источник, где вы можете видеть, как он действительно работает. –

+0

Я посмотрел на источник. Это дало мне несколько идей, но я все еще догадываюсь о многом. – Herms

0

Я просто прочитал эту статью, которая охватывает макеты с использованием Spark на очень понятном языке. Он охватывает getPreferedWidth() и height. http://www.adobe.com/devnet/flex/articles/spark_layouts.html

Блог автора также очень полезен.

+0

Печально, что, кажется, только Flex 4, и я работаю в 3. – Herms

1

В главе 6 «Programming Flex 3» содержится подробное описание контейнеров макета Flex, которые я нашел очень полезными.

+0

Это похоже на то, что я ищу. Спасибо, что предоставили ссылку Safari, что избавило меня от многих проблем с ее отслеживанием. :) – Herms

Смежные вопросы