本站原创文章,转载请注明: 转载自zrong's Blog,原文 在基于Flex4的AIR程序中改变状态栏字体大小,欢迎使用文章源码进行转载。
本站转载文章会标明[转],转载请注明原始作者文章地址。
在Flex3时代,要改变AIR程序的状态栏字体,可以使用修改CSS的方法:
<mx:Style> .boldRed { color: red; fontSize: 12; fontWeight: bold; } WindowedApplication { statusTextStyleName: boldRed; } </mx:Style> |
但是,在Flex4中,这招不管用了,默认的spark组件采用了新的方法来定义皮肤,这直接导致你根本找不到statusTextStyleName属性。
幸运的是,spark提供了更好的方法。spark的Window或者WindowedApplication组件的默认皮肤都包含statusText这个“外观部件”,我们对它的属性进行设置即可。当然,我们也可以完全重写默认的skin,skin采用MXML写成,更好编辑。这个组件的路径在这里:
[Flash Builder安装路径]\sdks\[SDK版本]\frameworks\projects\airspark\src\spark\skins\spark\
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="init()" status="测试"> <fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; @namespace mx "library://ns.adobe.com/flex/mx"; s|WindowedApplication { font-size: 12; font-family:"Microsoft YaHei,SimSun"; } .errorTip { font-size: 12; } </fx:Style> <fx:Script> <![CDATA[ private function init():void { statusText.setStyle('fontSize', 12); } ]]> </fx:Script> </s:WindowedApplication> |
需要注意的是,如果把这招用在Window组件中,就必须在Window.open()执行之后再调用setStyle,否则将会导致运行时错误。至于原因么……自己想^_^


最新评论