Flex - 如何在运行时切换到另一个SWC主题?

时间:2012-03-22 13:56:18

标签: flex themes

我的目标是为我的应用程序提供更多主题,如果可能,将它们与应用程序本身捆绑在一起,使用IStyleManager.loadStyleDeclarations()在运行时加载它们。

使用theme命令行选项,根据docs,您可以在应用程序中捆绑多个“编译时主题”:

  

主题文件名[...] 指定要与此应用程序一起使用的主题文件列表。主题文件可以是包含CSS文件的SWC文件或CSS文件。

但是,我无法找到如何实际执行此操作的示例(在命令行上使用+=语法?)并在运行时在这些主题之间切换。我应该使用什么API?

1 个答案:

答案 0 :(得分:2)

  

使用主题命令行选项,您可以拥有多个   根据文档与您的应用程序捆绑在一起的“编译时主题”:

是的,您可以在命令行中使用+ =添加其他主题。

我为Flextras mobile demos做了这个;包括通用Spark主题和Mobile主题来创建应用程序。

但是,将尝试使用这两个主题。我相信第二个优先。这意味着对于要使用“其他主题”的每个类,您必须指定手动使用该主题。这可能会很快变得相当复杂;你必须在你的应用程序中重新创建很多火花皮肤。我为这个想要在普通应用程序和同一代码库的移动应用程序中使用我们的移动DropDownList的客户做了一些工作。我认为使用CSS在运行时有条件地应用适当的皮​​肤;但是我们必须为“非移动使用”创建一个外观,明确指定各个元素的非移动外观(例如滚动条)