Есть ли фиксированное позиционирование во Flex, похожее на html? - PullRequest
1 голос
/ 30 ноября 2011

Я пытаюсь создать всплывающее уведомление в приложении Flex, которое имеет фиксированную позицию в левом нижнем углу окна. Всплывающее окно (mx.TitleWindow) будет исправлено браузером, даже если браузер изменен или прокручен. Устанавливая свойство bottom в 0, но оно не работает, когда окно браузера изменяет размер или прокручивает. Есть ли способ установить всплывающее окно в браузере?

1 Ответ

1 голос
/ 30 ноября 2011

Чтобы добиться этого, родительский элемент всплывающего окна (в данном случае компонент, который создает всплывающее окно и использует PopUpManager, а не второй аргумент addPopUp) должен знать, когда приложение изменяет свои размеры, и размещать всплывающее окно в соответствующем месте.Попробуйте добавить слушатель изменения размера в свое основное приложение и отправить из него пользовательское событие.Прослушайте это событие в родительском всплывающем окне, а затем измените положение всплывающего окна в соответствующем обработчике событий с помощью:

 var application:UIComponent = FlexGlobals.topLevelApplication as UIComponent
 popup.x = 5;
 popup.y = application.height - 170;

Помните, что эти координаты относятся к текущей области просмотра в браузере.Таким образом, вы можете разместить всплывающее окно в фиксированной позиции (в данном случае в левом нижнем углу).Старайтесь по возможности использовать механизмы аннулирования компонентов пользовательского интерфейса, чтобы избежать дублирования вычислений измерения.

Другой способ решения проблемы - реализовать механизм управления всплывающими окнами в основном приложении.В обоих случаях код позиционирования должен быть примерно таким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...