Как визуально «вырваться» из контейнера во Flex? - PullRequest
8 голосов
/ 01 октября 2008

Вот моя проблема - у меня есть такой код:

<mx:Canvas width="300" height="300">
     <mx:Button x="800" />
</mx:Canvas>

Таким образом, проблема в том, что кнопка внутри холста имеет свойство x, превышающее ширину холста - так как это дочерний элемент холста, холст маскирует его и создает несколько полос прокрутки для прокрутки к кнопке.

Мне бы хотелось, чтобы кнопка отображалась на расстоянии 800 пикселей слева от холста без полос прокрутки, при этом оставляя кнопку как дочернюю для холста. Как мне это сделать?

Ответы [ 2 ]

8 голосов
/ 01 октября 2008

Я понял это - по-видимому, контейнер имеет свойство с названием clipContent - вот описание от Adobe:

Применять ли маску клипа, если позиции и / или размеры дочерних элементов этого контейнера выходят за границы этого контейнера. Если false, дочерние элементы этого контейнера остаются видимыми, когда они перемещаются или имеют размеры за пределами этого контейнера. Если true, дочерние элементы этого контейнера обрезаются.

Если clipContent имеет значение false, прокрутка для этого контейнера отключена и полосы прокрутки не отображаются. Если clipContent имеет значение true, то полосы прокрутки обычно появляются, когда дочерние элементы контейнера выходят за границы контейнера. Дополнительный контроль над внешним видом полос прокрутки см. HorizontalScrollPolicy и verticalScrollPolicy. Значение по умолчанию - true.

Так что в основном - чтобы показать кнопку за пределами контейнера, мне нужно сделать следующее:

<mx:Canvas width="300" height="300" clipContent="false" >
     <mx:Button x="800" />
</mx:Canvas>

Это было проще, чем я думал. :)

Вот официальный документ ...

2 голосов
/ 06 октября 2008

Вы также сможете использовать свойство includeInLayout , которое позволит вам применять его к каждому дочернему компоненту независимо.

...