TileList设置显示数据的行间距和列间距

TileList设置显示数据的行间距和列间距

要想设置TileList的间距只有重写TileList drawHighlightIndicatordrawSelectionIndicator方法和 verticalGaphorizontalGapget\set属性才能实现,例:

/** 

 * Author Dante 

 * Email:[email protected] 

 * CreatedTime:2009.04.13 

 * Description: 

 *    该组件实现选中和划过theme样式,并且添加间距 

 * **/ 

package com.ckfinder.show {         

    import flash.display.Graphics;  

    import flash.display.Sprite;        

    import mx.controls.TileList;  

    import mx.controls.listClasses.IListItemRenderer;  

    public class MyTileList extends TileList {             

        [Bindable]  

        private var _verticalGap:Number = 0;            

        [Bindable]  

        private var _horizontalGap:Number = 0;            

        public function MyTileList() {  

            super();  

        }  

        /** 

         * 重写鼠标划过高亮 

         * @indicator:Sprite 

         * @x:Number 

         * @y:Number 

         * @width:Number 

         * @height:Number 

         * @color:uint 

         * @itemRenderer:IListItemRenderer 

         * return void 

         * **/ 

 override protected function drawHighlightIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void {  

            //绘图  

            var g:Graphics = indicator.graphics;                 

            g.clear();  

            g.beginFill(color);           

           // g.drawEllipse(0, 0, width - _horizontalGap, height - _verticalGap);      //画椭圆  

            g.drawRect(0, 0, width - _horizontalGap, height - _verticalGap);       //画矩形

            g.endFill();                

            indicator.x = x;  

            indicator.y = y;  

        }                   

        /** 

         * 重写选中高亮 

         * @indicator:Sprite 

         * @x:Number 

         * @y:Number 

         * @width:Number 

         * @height:Number 

         * @color:uint 

         * @itemRenderer:IListItemRenderer 

         * return void 

         * **/ 

override protected function drawSelectionIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void {  

            //绘图  

            var g:Graphics = indicator.graphics;                

            g.clear();  

            g.beginFill(color);             

 // g.drawEllipse(0, 0, width - _horizontalGap, height - _verticalGap);        //画椭圆  

            g.drawRect(0, 0, width - _horizontalGap, height - _verticalGap);       //画矩形

            g.endFill();      

            indicator.x = x;  

            indicator.y = y;  

        }             

        //=============================  

        //  set and get  

        //=============================  

        public function set verticalGap(value:Number):void {  

            _verticalGap = value;  

        }            

        public function get verticalGap():Number {  

            return _verticalGap;  

        }      

 

    

        public function set horizontalGap(value:Number):void {  

            _horizontalGap = value;  

        }  

         

        public function get horizontalGap():Number {  

            return _horizontalGap;  

        }  

    }  

} 

你可能感兴趣的:(flex)