Flex: когда прячешь компоненты в flex - PullRequest
14 голосов
/ 17 декабря 2008

Когда я устанавливаю компонент в visible = false, компонент скрывается, но как мне заставить его не занимать места (получить контейнер, которому он принадлежит, для изменения размера ??)

<mx:HBox width="100%" height="100%">
...
</mx:HBox>

<mx:HBox width="100%" id="boxAddComment" visible="false" >
    <mx:TextArea id="txtComment"/>
    <mx:Button label="Spara" click="addComment();"/>
</mx:HBox>

Когда boxAddComment виден = false, я хочу, чтобы первый HBox занял 100% высоты.

Ответы [ 3 ]

32 голосов
/ 17 декабря 2008

используйте свойство includeInLayout . например,


<mx:HBox width="100%" height="100%">
...
</mx:HBox>

<mx:HBox width="100%" id="boxAddComment" visible="false" includeInLayout="false" >
    <mx:TextArea id="txtComment"/>
    <mx:Button label="Spara" click="addComment();"/>
</mx:HBox>


14 голосов
/ 17 декабря 2008

Использование includeInLayout ="true" или "false" переключит пространство, занимаемое в потоке элементов, отображаемых в этом разделе.

Важное примечание: Если вы не укажете visible="false" при использовании includeInLayout = "false", вы, как правило, получите что-то нежелательное: ваш элемент (boxAddComment) все еще виден страница, но материал ниже id="boxAddComment" будет перекрывать его визуально. В общем, вы, вероятно, хотите, чтобы "includeInLayout" и "visible" были синхронизированы.

1 голос
/ 10 августа 2012

Предложение Росса Хендерсона о связывании includeInLayout с boxAddComment.visible прекрасно работает с Flex 3.0, но я обнаружил, что он не работает во Flex 3.6 (я видел сообщение о том, что он фактически перестает работать после Flex 3.3).

Просто к вашему сведению.

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