-1

我想增加列表中单元格之间的间隙大小,这样它们就不会相互重叠。我知道有,m_list.setStyle("contentPadding", 5)但这只会调整列表边缘的间隙,而不是单个单元格。同样调整列表中的 rowHeight 不会影响相邻单元格之间的间隙。我似乎找不到有关如何完成此操作的任何资源。

提前致谢。

4

1 回答 1

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();
            }
        }
    }
}
于 2013-03-25T10:06:51.853 回答