【问题标题】:Flex embed dynamicallyFlex 动态嵌入
【发布时间】:2013-09-06 22:50:14
【问题描述】:

在一个项目中,我有几个类似的应用程序,它们只是略有不同。像一些包含的图标/图像。为了帮助组织,我看到自己 [Embed] 采用如下样式的图标,但是在 [Embed] 元标记中使用变量不起作用。 以下代码包含在自定义组件中,因此我应该能够轻松地为每个应用程序(包括该组件)设置不同的图标。我该如何解决这个问题?

public var iconBase:String = "/icons/red/";
[Embed(iconBase + "play.png")] [Bindable] public var icon_play:Class;
[Embed(iconBase + "stop.png")] [Bindable] public var icon_stop:Class;

【问题讨论】:

    标签: apache-flex embed


    【解决方案1】:

    这应该回答你的问题:Embedding sources dynamically

    元数据由编译器预处理,因此您不能在其中包含任何变量。

    希望对您有所帮助, 兰斯

    【讨论】:

      【解决方案2】:

      你有很多选择:

      1. 编写一个快速代码生成器 构建适当的源文件。

      2. 在运行时加载图标,即 改变路径的方式。

      3. 使用符号链接更改 图标文件是从中检索的。

      4. 制作一个图标库或模块,然后 在编译时加载它们或 在运行时。

      我想我会在运行时加载图像并更改基本路径。

      【讨论】:

        【解决方案3】:

        一种选择是使用 ResourceManager 并将嵌入语句放入资源文件中。不同的应用可以定义不同的资源包。

        【讨论】:

          【解决方案4】:

          你可以使用

          btn.setStyle(“icon”,iconSymbol);
          

          有帮助

          【讨论】:

            猜你喜欢
            • 2012-04-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-16
            • 2011-07-09
            相关资源
            最近更新 更多