欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flex TileList自定義間距和theme樣式

 更新時間:2009年06月16日 22:57:10   作者:  
使用過TileList的朋友可能知道,該組件沒有Item與Item之間的間距設(shè)置。而且theme也沒有辦法象linkbar那樣設(shè)置樣式corner-radius改變形狀。
唯一的解決辦法就是重寫TileList組件中drawSelectionIndicatordrawHighlightIndicator 。
復(fù)制代碼 代碼如下:

/**
* Author Dante
* Email:rubbish86630@yahoo.com.cn
* 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();
}
/**
* 重寫鼠標劃過高亮
* @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;
}
}
}

相關(guān)文章

最新評論