Flex TileList自定义间距和theme样式 - 网站

Flex TileList自定义间距和theme样式

分类:Flex · 发布时间:2021-11-19 13:44 · 阅读:7349

使用过TileList的朋友可能知道,该组件没有Item与Item之间的间距设置。而且theme也没有办法象linkbar那样设置样式corner-radius改变形状。

唯一的解决办法就是重写TileList组件中drawSelectionIndicatordrawHighlightIndicator
复制代码 代码如下:

/**
* Author Dante
* Email:rubbish86630@yahoo.com.cn
* CreatedTime:2009.04.13
* Description:
* 该组件实现选中和划过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;
}
}
}
标签:
Flex TileList

相关文章

flex弹性布局详解

flex 就是flexible box的缩写,意为弹性布局,用来为盒装模型提供最大的灵活性,今天通过本文给大家详细介绍下flex弹性布局的相关知识,感兴趣的朋友一起看看吧

Flex字体加粗问题只能对英文的字体加粗

在flex中对label进行字体加粗的时候,只能对英文的字体加粗,而中文的就不可以加粗,解决方法如下,希望对大家有所帮助

Flex 基于数据源的Menu Tree实现代码

由外部参数flashvars指定数据源的文件位置或render链接,在源数据上加href和target属性来控制打开窗口,可自定义父节点和子节点图标,不设置采用系统默认,感兴趣的你可以了解下啊,或许对你有所帮助

Flex中实现对一个text渲染不同的字体颜色示例

本文为大家详细介绍下Flex中如何实现对一个text渲染不同的字体颜色,具体的实现思路及代码如下,有兴趣的朋友可以参考下哈,希望对大家有所帮助

在as中监听自定义事件并处理事件的实例代码

点击一张图片,响应事件。必须在AS中,去监听事件,并处理事件,下面是具体的实现思路及功能代码,感兴趣的朋友可以参考下哈

返回分类 返回首页