Макет Flex / AIR для инструмента презентации (логика изменения размера, пропорции и т. Д.) - PullRequest
0 голосов
/ 14 сентября 2010

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

Как видно изИзображение, ведущий может открывать различные приложения из главного окна.Каждое из этих приложений открывается в новых окнах, которые имеют разные визуальные характеристики;некоторые используют основную область контента для отображения графики, другие - маркеры.В большинстве окон приложений есть кнопки и стеки просмотра со встроенными Flash-ресурсами (с использованием s: SpriteVisualElement).

У меня следующие вопросы:

1a.При разработке PowerPoint-подобного инструмента для презентаций с Flex какой тип макета (базовый, вертикальный и т. Д.) Будет наиболее гибким?

1б.Как сделать так, чтобы на разных экранах проектора не происходило обрезание - какое соотношение сторон следует иметь в виду?

2а.Как изменить размер дочерних спрайтов в контейнере SpriteVisualElement пропорционально разрешению окна?

2b.И где мне разместить эту логику изменения размера - на каждом компоненте (спрайте) с resizeHandlers или в одном resizeHandler / окне?

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

alt text

1 Ответ

1 голос
/ 14 сентября 2010

Так как вы новичок во Flex, я настоятельно рекомендую ознакомиться с жизненным циклом компонентов Flex.

1a. When developing a PowerPoint-like presentation tool with

Flex, какой тип макета (базовый, вертикальный и т. д.) обеспечит наиболее гибкость

Выбранный вами макет будет зависеть от того, что вы хотите отобразить. Я не вижу раскладки как «Гибкие». Они делают свою работу и позиционируют свои элементы соответствующим образом. Я могу легко представить себе использование всех типов макетов в таком сложном приложении, каждое для разных целей.

1b. How do I make sure no clipping occurs on various projector screens -

какое соотношение сторон я должен иметь в ум?

Я не совсем уверен, что понимаю, что означает этот вопрос, но я понимаю, что вы хотите избежать присутствия полос прокрутки в вашем приложении. Для этого вам необходимо разработать код макета, который будет определять размеры и расположение ваших детей, чтобы они не превышали высоту и ширину доступного пространства содержимого. В архитектуре Flex 3 (Halo) это можно сделать, написав метод updateDisplayList () для вашего компонента. В архитектуре Flex 4 (Spark) это, вероятно, можно сделать, написав метод updateDisplayList () для вашего класса скина.

2a. How can I resize children sprites in the SpriteVisualElement

контейнер пропорционально окну разрешение

Я полагаю, что мой ответ уже решает эту проблему.

2b. And where do I place this resize logic - on each component

(спрайт) с resizeHandlers или в одном resizeHandler / window?

В обработчике изменения размера я, скорее всего, использовал бы invalidateSkinState и / или invalidateDisplayList. Код изменения размера будет в скине и / или updateDisplayList.

...