Apache flex 在Actionscript/Flex中动态加载CSS

Apache flex 在Actionscript/Flex中动态加载CSS,apache-flex,actionscript-3,mxml,Apache Flex,Actionscript 3,Mxml,问题定义:能够在运行时动态加载CSS,以对Flex应用程序进行蒙皮 更多信息:我发现加载和应用CSS就像使用“mx:style source=“../assets/default.CSS”一样简单。但我想做的更像(伪代码): If(条件==1) mx:style-source=“../assets/style1.css” ElseIf(条件==2) mx:style source=“../assets/style2.css” 否则 mx:style source=“../assets/defau

问题定义:能够在运行时动态加载CSS,以对Flex应用程序进行蒙皮

更多信息:我发现加载和应用CSS就像使用“mx:style source=“../assets/default.CSS”一样简单。但我想做的更像(伪代码):

If(条件==1)
mx:style-source=“../assets/style1.css”
ElseIf(条件==2)
mx:style source=“../assets/style2.css”
否则
mx:style source=“../assets/default.css”
我已经开始研究StyleManager类,但想知道是否有更简单的实现


要求:我想做一些简单的事情,比如将一个.css文件放到/assets文件夹中,而不需要css->SWF编译或任何类似的复杂操作。

使用样式标签,基本上只需内联样式表即可。据我所知,没有办法完全实现你希望做的事情。同时,您最好按照预期的方式进行,使用CSS到SWF编译。这实际上并没有增加太多的复杂性;您只需在将.css放入/assets和将其添加到条件中之间添加一个步骤

有关更多信息,请参阅本文:

使用样式标签,基本上只是内联样式表。据我所知,没有办法完全实现你希望做的事情。同时,您最好按照预期的方式进行,使用CSS到SWF编译。这实际上并没有增加太多的复杂性;您只需在将.css放入/assets和将其添加到条件中之间添加一个步骤

有关更多信息,请参阅本文:
这里有一个链接,显示如何在运行时将css加载到actionscript中。我将其用于Flex项目:
这里有一个链接,显示如何在运行时将css加载到actionscript中。我将其用于Flex项目:

我相信你是正确的re:CSS->SWF,我仍然希望我可以替换CSS文件。尽管如此,谢谢你的链接,因为这是一个很好的资源。我在这里还发现了更多重要的是,Flash Player在运行时不拦截CSS(甚至MXML),它只理解在AVM内部执行的字节码。MXML编译成ActionScript,ActionScript被编译成字节码,CSS也需要采用类似的路径。我相信你是正确的re:CSS->SWF,我仍然希望我可以替换CSS文件。尽管如此,谢谢你的链接,因为这是一个很好的资源。我在这里还发现了更多重要的是,Flash Player在运行时不拦截CSS(甚至MXML),它只理解在AVM内部执行的字节码。MXML编译成ActionScript,ActionScript被编译成字节码,CSS也需要采用类似的路径。不推荐使用,但请查看黑客入侵:不推荐使用,但请查看黑客入侵:
If (condition == 1)<br />
  mx:style source="../assets/style1.css"<br />
ElseIf (condition == 2)<br />
  mx:style source="../assets/style2.css"<br />
Else<br />
  mx:style source="../assets/default.css"<br />