2013-03-25 3 views
-1

내 목록에서 셀 사이의 간격 크기를 늘려서 서로 겹치지 않게하려고합니다. 나는 m_list.setStyle("contentPadding", 5)이 있다는 것을 알고 있지만 그것은 단지 개별 세포가 아닌 목록 가장자리와의 간격을 조정합니다. 또한 목록에서 rowHeight를 조정해도 인접 셀 사이의 간격에는 영향을주지 않습니다. 이것이 어떻게 이루어 졌는지에 대한 어떤 자원도 찾을 수없는 것 같습니다.목록 구성 요소 - 셀 간 간격 변경

미리 감사드립니다.

답변

1

api에서는 지원되지 않습니다. 자신 만의 List를 작성하여 fl.controls.List를 확장하고 trick을 rowHeight와 함께 사용할 수 있습니다. 아래를 참조하십시오.

package 
{ 
    import fl.controls.List; 
    import fl.controls.listClasses.CellRenderer; 

    public class MyList extends List 
    { 

     public var gap:Number = 5; 

     public function MyList() 
     { 
      super(); 

      rowHeight += gap; 
     } 

     override protected function draw():void 
     { 
      super.draw(); 
      updateRenderer(); 
     } 

     protected function updateRenderer():void 
     { 
      var renderers:Array = availableCellRenderers.concat(activeCellRenderers); 
      var l:uint = renderers.length; 

      for (var i:uint=0; i<l; i++) 
      { 
       var renderer:CellRenderer = renderers[i]; 

       if (i > 0) 
       { 
        renderer.y += gap; 
       } 

       renderer.setSize(availableWidth+_maxHorizontalScrollPosition,rowHeight - gap); 

       renderer.drawNow(); 
      } 
     } 
    } 
}