2013-08-21 7 views
1

Я эту ситуацию:AS3: управлять разрыв в тх: VBox, когда я добавляю программно компонент

Основным компонентом, где корневой узел.

В этом VBox я указываю свойство verticalGap = "0".

В создании полного, я добавляю много компонентов, таким образом:

var pnlFirstCmp:PnlFirstCmp = new PnlFirstCmp(); 
this.addElement(pnlFirstCmp); 

for (var i:int = 1; i<myArray.length; i++) { 
    var pnlOtherCmp:PnlOtherCmp = new PnlOtherCmp(); 
    this.addElement(pnlOtherCmp); 
} 
var pnlFooter:PnlFooter = new PnlFooter(); 
this.addElement(pnlFooter); 

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

Где я ошибаюсь!?!?!?

My undesiderate gap

EDIT ПОСЛЕ COMMENT: Мой корневой узел:

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" 
    creationComplete="vbox1_creationCompleteHandler(event)" 
    verticalGap="0"> 

Создание полной:

protected function vbox1_creationCompleteHandler(event:FlexEvent):void 
{ 
    createPanel(); 
} 

PnlFirstCmp (корневой узел):

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" 
    verticalGap="0"> 

PnlOtherCmp (корневой узел):

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" 
    verticalGap="0"> 

PnlFooter (корневой узел):

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" verticalGap="0"> 

Если вы хотите показать другой бит кодов, не esitate;)

+0

Я думаю, вам нужно больше узнать о вашем коде. Покажите нам «корневой узел», «VBox» и где вы устанавливаете пробел в 0. Являются ли «корневой узел» и «VBox» двумя компонентами или одинаковыми? Код, который вы указали, не является причиной проблемы. –

+0

Может быть заполнение на «PnlFirstCmp», которое вы используете. попробуйте удалить padddingTop и paddingbottom и посмотреть. – Zeus

+0

@ Сунил Д./Зевс: Я обновил свой вопрос. –

ответ

2

Я решена.

Вопрос: высота = "100%" в корневом узле!

Я создаю панель в rumtime, и если я удалю высоту = «100%» Flex строит панель для точного измерения, в противном случае она строит с учетом всей доступной высоты, поэтому добавьте пустое пространство в нижний колонтитул панели. Таким образом я удалил пустое пространство, так что ОК. Спасибо за помощь. Sunil D. & Zeus

 Смежные вопросы

  • Нет связанных вопросов^_^