flex4自定义皮肤详解

阅读更多
在Flex4新增加了一个包:spark.skins,这个包里面只有一个类:SparkSkin,而我们(非美工的程序员)通过这个class来实现任意自定义控件的样式。
通过上述关系可以得出如下的结论:
1、SparkSkin是一个Group类型的容器。(它继承与Group)
2、是全部Spark类的基础类,也就说全部的mx.spark的可视化控件的外观全部都是SparkSkin的子类)

注意Skin,这个类是SparkSkin的父类,同时Skin继承与Group。

Skin:
是SparkSkin的父类,例如ButtonBarSkin就是Skin的子类,如果想要自定义这部分组件的样式,则需要使用Skin。

SparkSkin:
是全部Spark类的基础类,也就说全部的mx.spark的可视化控件的外观全部都是SparkSkin的子类。

综上所述,用SparkSkin和Skin都可达到同样的效果。

在Flex4中,我们只需要将这个button的样式继承与SparkSkin或者Skin,然后在其中加入一些想要的内容即可,请看以下代码:

xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fx="http://ns.adobe.com/mxml/2009">






[HostComponent("spark.components.Button")]








fontFamily="Myriad Pro"
fontSize="11"
color="0xBBBBBB"
textAlign="center"
horizontalCenter="0"
verticalCenter="1"
width="100%">
  



我们可以用以下几个方式将这个样式应用:
1、
    Button{
           skinClass: ClassReference("cn.xuedi.SelfButton");
    }

2、myButton.setStyle( "skinClass", Class(cn.xuedi.SelfButton));

3、

你可能感兴趣的:(sparkskin,spark,flex4,skins)