2013-03-25 63 views
-1

我想增加列表中单元格之间的间隙大小,使它们不会彼此重叠。我知道有m_list.setStyle("contentPadding", 5),但只调整列表的边缘而不是单个单元格的差距。同样调整列表上的rowHeight不会影响相邻单元格之间的空隙。我似乎无法找到有关这方面的资源。列表组件 - 更改单元格之间的间隙大小

在此先感谢。

回答

1

它不支持api。您可以创建自己的List extends fl.controls.List并使用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(); 
      } 
     } 
    } 
} 
相关问题