在Flex库项目中使用defaults.css文件

来源:互联网 发布:yum install telnet 编辑:程序博客网 时间:2024/05/29 09:45

在我提供咨询服务的众多开发公司中,使用内部的Flex库项目来拆分代码库很常见,但是在这些Flex库项目中却很少用到defaults.cssmanifest.xml文件。我花些时间介绍一下它们的工作方式以及使用它们的原因。这篇文章我只介绍defaults.css文件,manifest.xml文件将在下一篇文章中介绍。

创建自库项目来存放自定义组件时,经常需要设置这些自定义组件的默认样式。在使用含有皮肤文件的spark组件架构时,设置默认样式显得更加重要。你不希望这些组件的用户在使用组件时,还需要自己将默认皮肤关联到组件中。

我见过有些组件开发者在组件的构造函数中设置这些默认的样式。这对于大部分的样式来说可能没有什么大问题,但是对于皮肤文件来说就有问题了。比如:在组件的构造函数中直接指定皮肤文件后,在MXML文件中用MXML标签创建组件实例时,就不能通过标签属性设置一个不同的皮肤文件。

另一种常见的方式是在组件中设置静态的(初始化器)initializers。这个初始化器在样式声明中查找某个声明,如果没有找到的话,就定义一个默认的声明。这个方法没有问题,但跟defaults.css文件相比麻烦很多。

如果可以指定一个样式文件让库项目使用,事情会简单很多。问题是库项目不像普通Flex项目那样有一个主应用文件可以关联这个样式文件。defaults.css文件则解决了这个问题。如果你浏览过Flex SDK的文件系统的话,你应该知道SDK其实是一系列库项目的集合。这些包含众多可视组件的SDK库(如mx库和spark库)都各自有一个defaults.css文件,这些样式文件定义了这些可视组件的默认样式。你应该在你的库项目中使用这个技巧。

使用defaults.css的规则很少,就两条规则:

1. 样式文件的名称为“default.css”——都是小写字母

2.样式文件必须放在项目根目录

规则2中,如果你使用FlashBuilder的默认资源目录,则样式文件必须放在“src”文件夹中。如果你使用Maven推荐的约定,这个位置可能在“src/main/flex”包中。

就这么多,现在你可以正常定义组件的默认样式了。

原创粉丝点击