Flex TileList Flex TileList自定义间距和theme样式

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Flex TileList Flex TileList自定义间距和theme样式

  2021-03-17 我要评论
想了解Flex TileList自定义间距和theme样式的相关内容吗,在本文为您仔细讲解Flex TileList的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Flex,TileList,下面大家一起来学习吧。
唯一的解决办法就是重写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;
}
}
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们