2013-08-21 9 views
1

AS3 : 프로그래밍 방식으로 컴포넌트를 추가 할 때 mx : 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); 

이제 문제는 : 내 패널을 볼 때 내가에 추가 된 다른 패널 사이에 약간의 공백이 실행 시간.

내가 틀렸어!?!?!? COMMENT AFTER

My undesiderate gap

편집 : 내 루트 노드 : 전체

<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 (노드 루트) :

당신이 esitate하지 않는 코드의 다른 비트를 표시하려면
<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"> 

)

+0

더 많은 코드를 보여줘야한다고 생각합니다. 우리에게 "루트 노드", "VBox", 그리고 갭을 0으로 설정하는 곳을 보여주십시오. "루트 노드"와 "VBox"두 요소 또는 같은 것이 있습니까? 표시 한 코드는 문제의 원인이 아닙니다. –

+0

사용중인 'PnlFirstCmp'의 패딩이 될 수 있습니다. paddding을 제거하고 상단과 패딩 하단을보고보십시오. – Zeus

+0

@Sunil D./Zeus : 내 질문을 업데이트했습니다. –

답변

2

내가했습니다 해결됨.

문제는 루트 노드에서 height = "100 %"입니다!

나는 rumtime에 대한 패널을 만들고 있는데, height = "100 %"를 제거하면 Flex가 정확한 치수로 패널을 작성합니다. 그렇지 않으면 사용 가능한 모든 높이를 고려하여 빌드되므로 패널의 바닥 글에 빈 공간을 추가하십시오. 이렇게하면 빈 공간이 제거되었으므로 OK입니다. 도움을 주셔서 감사합니다. Sunil D. & 제우스