Контейнер изменения размера при изменении размера окна приложения в приложении Adobe Flex / AIR - PullRequest
3 голосов
/ 04 марта 2011

Я работаю над приложением Adobe AIR.Размер в окне приложения составляет 800X600 и содержит контейнер границы, а контейнер границы содержит много элементов управления.

Я хочу, чтобы, если пользователь изменил размеры приложения, этот контейнер также должен был быть изменен в соответствии с масштабом.т.е. если пользователь развернул или свернул окно, то этот контейнер границы также должен быть развернут или свернут соответственно.

Ответы [ 3 ]

5 голосов
/ 05 марта 2011

Если вы не хотите (или не можете по какой-то причине) использовать ширину в процентах, вы всегда можете просто сделать следующее в MXML:

<s:BorderContainer 
    xmlns:mx = "http://www.adobe.com/2006/mxml"
    xmlns:s = "library://ns.adobe.com/flex/spark"

    width = "{parentApplication.width / 2}"
    height = "{parentApplication.height / 2}">

Вы просто получаете ссылку на parentApplication компонента и непосредственно привязываетесь к его ширине и высоте. Бросай все, что хочешь, в конец

2 голосов
/ 04 марта 2011

Более простой способ сделать это - заставить ваши компоненты объявлять свои размеры / позиции относительно их внешних контейнеров. Например, вместо установки x, y, ширины и высоты установите левое, правое, верхнее и нижнее в компоненте приложения, а также в контейнерах в приложении. Если вы хотите установить минимальный размер 800x600, вы можете установить свойства minWidth и minHeight. Надеюсь, это поможет.

1 голос
/ 04 марта 2011

Это может быть выполнено с использованием инфраструктуры MVC. Некоторые опции включают RobotLegs , Mate , Cairngorm или есть возможность использовать некоторые быстрые шаблоны проектирования и реализовать пользовательскую версию.

По существу, событие Application Event.RESIZE должно быть обнаружено и применено к контейнеру. Свойства stageHeight и stageWidth предоставят необходимую информацию для изменения размера контейнера.

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

...