通过上两篇文章我们可以得到一个结论:使用SparkSkin、Skin方式设定spark组件的皮肤是非常容易的事情。如果同样的效果在Flex SDK 3里面设定的话,将会是件非常麻烦的事情。
Flex SDK 4(Gumbo)众所周知有两套组件:spark组件和halo组件,那么既然spark组件中的皮肤设定是非常容易的事情,在halo中呢?能否也会像spark组件一样方便?
答案:当然是肯定的。
其原因是:仍旧使用SparkSkin和Skin组件来完成自定义皮肤。
先回忆一下在spark组件中自定义皮肤的方法:
1、
Button {
    skinClass: Cla***eference("com.rianote.flex.skin.KButton");
}
2、
在spark中,对其设定皮肤我们使用skinClass这个属性。同样在halo包里面,我们应该如何定义这个皮肤呢?
看以下的代码:

    .sparkButtonStyle {
         skin: Cla***eference("com.rianote.flex.skin.KButton");
    }

是不是很容易呢?同样对于经常熟悉开发Flex SDK 3的程序员来说,上述代码一点都不陌生。
再让我们对比一下spark组件的写法:

Button {
    skinClass: Cla***eference("com.rianote.flex.skin.KButton");
}

其实我们仅仅从spark与halo共用一套自定义皮肤的方式得到一些信息:
Flex SDK 4(Gumbo)虽然在版本兼容上面并不是特别好,但是从这公用自定义皮肤的方式可以看出,Adobe Flex Team在兼容性方面还是花费了很大的力气。