FLEX工程动态如何切换皮肤

StyleManager.loadStyleDeclarations('Offical.swf');


可惜现在csdn没有在线截图功能,需要浏览上传,我实在非常懒惰,不截图,只做文字些许总结

 

1.在src根目录构建一个某主题的css文件

/* CSS file */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|BorderContainer#HeaderBar{
	skin-class:ClassReference("skin.offical.HeaderSkin");
}
s|BorderContainer#Divider1{
	skin-class:ClassReference("skin.offical.Divider");
}
/*符号#代表指定的ID*/
s|Label#labelExamples{
	font-size:14;
	color:#990099;
}
s|CheckBox{
	font-size:9;
	color:#FF3300;
}
s|RadioButton{
	font-size:92;
	color:#990099;
}
s|Button{
	font-size:32;
	color:#FF3300;
}
s|Button#menu{
	skin-class:ClassReference("skin.offical.menubutton");
}
s|Button#menu1{
	skin-class:ClassReference("skin.offical.menubutton");
}
mx|PopUpMenuButton#menu{
	cornerRadius: 0;
	height: 52px;
	backgroundAlpha: 0;
	fillAlphas: 0,0,0,0;
	highlightAlphas: 0, 0;
	arrowButtonWidth: 52;
	borderColor: #ff0000;
}


比如s|Button#menu这个书写方式:s就是spark框架,Button控件类,对应id叫做menu的按钮。

具体的一些控件样式的基本代码的书写,如果不是很专业的话,可以用这个工具,直接在线生成,拷贝进来即可。

http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html

关于FLASH CATALYST生成的skin在后边会讲到,css代码负责进行调用,是不是在MXML和AS文件里。这样就做到了美工和程序员工作的分离,避免了交集和混乱。

 

2、生成“样式文件名.swf”文件

在工作空间里的css文件上点右键,在右键菜单中选择“将CSS编译为SWF”,并让这个菜单项前面一直保持有一个小勾的图标,这代表你每修改一次css文件,FB都会实时地更新对应的swf。选择菜单项完毕后,在bin-debug文件夹中会出现与css文件同名的swf文件,这个文件就是被整个系统实时加载动态更新样式的基础文件。

 

3、AS代码加载“样式.swf”的方式

 

StyleManager.loadStyleDeclarations('Offical.swf');


一般默认在应用初始化完成后在creationComplete的函数里写。动态初始化无非是反复调用这个方法,传不同的“样式.swf”文件来动态改变整个系统样式。

 

4、使用FLASH CATALYST制作皮肤

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值