Как привязать высоту гибкого компонента к высоте окна браузера? - PullRequest
3 голосов
/ 11 ноября 2009

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

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

Ответы [ 4 ]

2 голосов
/ 11 ноября 2009

Установите minHeight и minWidth для вашего контейнера на 0:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
    <mx:HBox width="100%" height="100%">
        <mx:HBox width="20%" height="100%">
            <mx:Label text="Left Panel"/>
        </mx:HBox>
        <mx:VBox width="100%" height="100%" minWidth="0" minHeight="0">
            <mx:CheckBox label="1" />
            <mx:CheckBox label="2" />
            <mx:CheckBox label="3" />
            <mx:CheckBox label="4" />
            <mx:CheckBox label="5" />
            <mx:CheckBox label="6" />
            <mx:CheckBox label="7" />
            <mx:CheckBox label="8" />
            <mx:CheckBox label="9" />
            <mx:CheckBox label="10" />
            <mx:CheckBox label="11" />
            <mx:CheckBox label="12" />
            <mx:CheckBox label="13" />
            <mx:CheckBox label="14" />
            <mx:CheckBox label="15" />
            <mx:CheckBox label="16" />
            <mx:CheckBox label="17" />
            <mx:CheckBox label="18" />
            <mx:CheckBox label="19" />
            <mx:CheckBox label="20" />
        </mx:VBox>
        <mx:HBox width="20%" height="100%"> 
            <mx:Label text="Right Panel"/>
        </mx:HBox>
    </mx:HBox>
</mx:Application>
2 голосов
/ 11 ноября 2009

Установка высоты компонентов на 100% - это все, что вам нужно.

в формате mxml:

<mx:Vbox height="100% />

в ActionScript:

myVBox.percentHeight = 100;

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

1 голос
/ 11 ноября 2009

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

Итак, просто используйте Application.application.width и Application.application.height

Вы должны прослушать событие, которое меняет размер приложения, и сравнить его, как

if (component.width > Application.application.width)
     component.width = Application.application.width

Событие, вероятно, будет stage.addEventListener(Event.RESIZE, onStageResize)

0 голосов
/ 11 ноября 2009

Вы можете установить ваш компонент на высоту области просмотра говорят:

ActionScript:

component.height = viewport.height;

MXML:

<mx:component height={viewport.height} />
...