在Flex AIR App中动态加载样式

时间:2011-06-27 06:04:01

标签: flex flex3 air stylesheet

所以我决定在我的AIR应用程序中实现一些主题。我已将CSS文件转换为SWF文件,从主文件中删除了Style链接。根据存储在文件中的用户首选项,我决定使用哪个主题。即;使用StyleManager类加载SWF文件。

我使应用程序窗口不可见,为StyleEvent.COMPLETE方法返回的IEventDispatcher对象添加了StyleManager.loadStyleDeclarations事件侦听器。 StyleEvent.COMPLETE发生后,我将主窗口显示出来。

我现在遇到的问题是,在使用所选样式之前,我可以看到白色画布和所有没有任何样式的组件。我想知道我的方法是否正确,还是需要进行任何更改才能正确实现?

1 个答案:

答案 0 :(得分:1)

好吧,所以我似乎已经弄明白了。从这link获得一些帮助。

以前我读过applicationComplete中的设置并加载了样式。所以我想所有的UI组件都已创建并添加到显示列表中。他们赤身裸体,没有任何风格价值。

所以我将设置文件的读取更改为preinitialize,因此在触发applicationComplete时,AIR已经加载了SWF样式表。所以它会显示我想要的UI。