2010-02-09 30 views
0

AIR应用程序的默认主题编译为&,可以从外部swfs(基于css)加载的主题覆盖缺省值。StyleManager:在loadStyleDeclarations之后调用getStyleDeclaration(Flex 3.5)

用update = true调用StyleManager.loadStyleDeclarations,然后在由loadStyleDeclarations返回的调度程序的StyleEvent.COMPLETE处理程序中调用getStyleDeclaration。预计它会从新加载的主题返回一个声明,而不是从默认主题中获取一个。

问题是在loadStyleDeclarations之后调用getStyleDeclaration以获取来自加载主题的声明是安全的吗?还有其他事件要听吗(尚未在文档中找到)?

回答

0

已解决。 问题不在于getStyleDeclaration本身,它返回了正确的CSSStyleDeclaration实例,但事实上,在基于css的swf中加载的样式没有用于获取选择器的所有syles的工厂函数,只是保护覆盖了可能会使用getStyle来查询。 我使用CSSStyleDeclaration.factory在运行时构造StyleSheet对象。它在编译的样式中工作正常。加载样式时,我应该使用CSSStyleDeclaration对象上的getStyle来按名称获取重写样式。

相关问题