2010-05-04 7 views
2

내 linkButton과 각 linkButton 사이의 공간을 줄이려면 어떻게해야합니까?플렉스 : 구성 요소 사이의 간격을 줄이는 방법

패딩을 0으로 설정했지만 이미 0이었습니다. 텍스트가 동적이기 때문에 LinkButton의 높이만 변경할 수 있었지만 너비로 변경할 수 없었습니다.

<mx:Repeater id="bookmarksRepeater" dataProvider="{dataManager.bookmarksList}"> 
    <mx:HBox> 
     <mx:VBox> 
     <mx:HBox> 
      <mx:Text > 
       <mx:text> {String(bookmarksRepeater.currentItem.name)}</mx:text> 
      </mx:Text> 
      <mx:LinkButton height="16" rollOverColor="#FFA500" label="Visit" /> 
      <mx:LinkButton height="16" rollOverColor="#FFA500" label="Add" /> 
      <mx:LinkButton height="16" rollOverColor="#FFA500" label="Save" /> 
     </mx:HBox> 
    <mx:HBox> 
     <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}"> 
      <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" label="{String(tagsRepeater.currentItem.name)}"/> 
    </mx:Repeater> 
    </mx:HBox> 
    </mx:VBox> 
    <mx:Text height="16" color="0x0033CC" fontWeight="bold" > 
    <mx:text> {String(bookmarksRepeater.currentItem.popularity)} </mx:text> 
     </mx:Text> 
    </mx:HBox> 
</mx:Repeater> 
+0

MXML 및 CSS를 게시 할 수 있습니까? – Prutswonder

+0

오케이, 질문을 수정했습니다. ArrayCollection – aneuryzm

답변

5

리피터는 기본적으로 가로 간격이 HBox 안에 있습니다. 이 간격을 제거하려면 0으로 horizontalGap을 설정

<mx:HBox horizontalGap="0"> 
    <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}"> 
     <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" 
      label="{String(tagsRepeater.currentItem.name)}"/> 
    </mx:Repeater> 
</mx:HBox> 
+0

의 항목 수에 따라 항목을 생성하기 때문에 2 중계기를 사용하고 있습니다. 이제 LinkButton의 너비를 줄이면됩니다. 텍스트가 동적이기 때문에 정적 너비를 사용할 수 없습니다. – aneuryzm

0

당신은 아마 당신의 컨테이너 클래스의 commitProperties을 재정의를해야 할 것, 동적 LinkButtons의 폭을 설정하고 각각의 LinkButton의 텍스트 메트릭을 계산하려면 :

var m : TextLineMetrics = linkButton.measureText (lb.label);

그러면 계산 된 메트릭을 사용하여 각 LinkButton의 정확한 너비 값을 설정할 수 있습니다.

또 다른 방법은 LinkButton에서 labelChanged 이벤트를 수신 한 다음 수신기에서 너비 재 계산을 수행하는 것입니다.

관련 문제