【问题标题】:Dynamically load CSS in Actionscript/Flex在 Actionscript/Flex 中动态加载 CSS
【发布时间】:2010-10-19 06:06:46
【问题描述】:

问题定义: 能够在运行时动态加载 CSS 以设置 Flex 应用程序的外观。

更多信息:我发现加载和应用 CSS 就像使用“mx:style source=".​​./assets/default.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 />

我已经开始研究 StyleManager 类,但想知道是否有更简单的实现。

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

【问题讨论】:

标签: apache-flex actionscript-3 mxml


【解决方案1】:

这里是一个链接,展示了如何在运行时将 css 加载到 actionscript 中。我将它用于 Flex 项目: http://www.developphp.com/view.php?tid=129

【讨论】:

    【解决方案2】:

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

    查看这篇文章了解更多信息: http://onflash.org/ted/2007/01/flex-201-understand-runtime-css.php

    【讨论】:

    • 我相信你是正确的关于:CSS -> SWF,我仍然希望我可以只替换 CSS 文件。尽管如此,感谢您的链接,因为它是一个很好的资源。我还在这里找到了更多 tinyurl.com/3asj9p
    • 这里需要理解的重要一点是,Flash Player 在运行时不会拦截 CSS(甚至 MXML):它只理解在 AVM 内执行的字节码。 MXML 编译为 ActionScript,ActionScript 编译为字节码,CSS 也需要采用类似的路径。
    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    相关资源
    最近更新 更多