/**
* Author Dante
* Email:
[email protected] * CreatedTime:2009.04.13
* Description:
* 該組件實現(xiàn)選中和劃過theme樣式,并且添加間距
* **/
package myLib {
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();
}
/**
* 重寫鼠標(biāo)劃過高亮
* @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.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.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;
}
}
}