自定义Flex组件的样式属性

有时,Flex组件默认的样式不够用,我们得扩展该组件,并在其子类中添加自定义样式属性。

在类中自定义样式属性一般有下面几个步骤:

1. 在类声明前插入[Style]元数据标签,语法如下:

Style(name=”style_name”[,property=”value”,…])]

2. 定义一个静态初始器,为样式属性设置默认值。

3. 覆写styleChanged()方法,检测样式属性是否改变。

4. 覆写updateDisplayList() 方法,在显示组件时加入样式。

在下面的实例中,我们为LineSeries添加了一个lineWeight属性,从而实现了在不改变其默认线条颜色的基础上改变其线条粗细。

点击此处查看该实例的效果,点击此处下载该实例的源码。

一般情况下,我们会使用一个状态变量来标识样式是否改变。在updateDisplayList方法中,首先检测该标识,再基于新样式设定更新组件外 观。注意:updateDisplayList方法只更新因为该样式改变而需要重绘或重新计算的部分外观,而不是整个组件的外观。

发表评论