我们解析mx.skins.ProgrammaticSkin类的源代码。
ProgrammaticSkin类如其名,是用来编写皮肤外观的,也就是使用ActionScript的绘图能力。
具体来讲就是使用Graphics类来绘制各种外观效果。
ProgrammaticSkin作为Flex框架基础类之一,和框架结构设计有很多关联,如果要分析ProgrammaticSkin类的全部内容,自然越扯越多,容易迷失主题。
通过快速浏览其内容,可以发现使用到Graphics类用来绘图只有一个函数:drawRoundRect,而该函数中有调用了另一个绘图工具类 mx.utils.GraphicsUtil中的函数:drawRoundRectComplex。
无论是函数drawRoundRect,还是drawRoundRectComplex,都只有数十行的代码,而且使用的都是最基本的ActionScript绘图功能,所以我们可以轻易地掌握这部分知识。
它是编程皮肤的基础,非常有掌握的必要。