使用ProgrammaticSkin绘制Panel外观

要动态改变Flex组件外观,最先想到的是使用CSS,如果组件本身的样式不能满足自定义组件外观的要求,就要考虑使用编程方式新增样式了。本文以Panel组件为例进行讲述。

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

TitleBackgroundEx类继承了ProgrammaticSkin,通过drawRoundRect方法在标题栏上方绘制一个圆角矩形。PanelEx类新增了headerCapColor和headerCapHeight两个样式,通过以改变这两个样式我们可以控制该圆角矩形的高度和颜色。然后我们将PanelEx实例的titleBackgroundSkin样式指定为TitleBackgroundEx,从而实现了这一需求。

当然,如果只是给Panel和TitleWindow组件新增一个圆角矩形,可以新建一个容器,然后在容器中使用ProgrammaticSkin绘制。这种方法更灵活简单,但对于Alert组件,这样做似乎行不通。请大家指教更好的方法,谢谢。

发表评论