Flex动态嵌入

时间:2009-11-30 06:25:24

标签: flex 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;

4 个答案:

答案 0 :(得分:1)

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

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

希望有所帮助, 兰斯

答案 1 :(得分:0)

你有很多选择:

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

  2. 在运行时加载图标 你可以改变路径的方式。

  3. 使用符号链接更改位置 图标文件是从。

  4. 中检索的
  5. 制作图标库或模块 要么在编译时加载,要么加载它们 在运行时。

  6. 我想我只是在运行时加载图像并更改基本路径。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

你可以用

btn.setStyle(“icon”,iconSymbol);

它可以帮助