因此我决定在AIR应用程序中实现一些主题。我已将我的CSS文件转换为SWF文件,从主文件中删除了Style链接。根据存储在文件中的用户首选项,我决定使用哪个主题。即;使用StyleManager
类加载SWF文件。在Flex AIR应用程序中动态加载样式
我使我的应用程序窗口不可见,为StyleManager.loadStyleDeclarations
方法返回的IEventDispatcher
对象添加了StyleEvent.COMPLETE
事件侦听器。 StyleEvent.COMPLETE
发生后,我使我的主窗口可见。
我现在的问题是,几秒钟后,我可以看到白色画布和所有我没有任何风格的组件之前使用选择的风格。我想知道我的方法是否正确,或者是否需要进行任何更改才能正确实施?
+1好东西,初始化可能也会起作用,而且会更常用 – Ryan
你能告诉我在'preinitialize'和'initialize'中写入东西的区别吗?到目前为止,我只使用了'creationComplete'和'applicationComplete'。 – midhunhk
不用手:我们不使用预初始化,因为不是所有的容器/对象的子都将被创建。我们总是使用'initialize'来设置变量,为数据提供dataProvider集合(如Adobe推荐的)。所有的容器儿童都是在这个时候创建的。我们所有的eventlistener都会在creationComplete中设置(如Adobe建议的),它会在所有子级之后被触发,并且创建并显示子级的子级。 – Ryan