2009-11-30 73 views
0

在一个项目中,我有几个类似的应用程序,它们在这里和那里略有不同。像一些包含的图标/图像。为了帮助组织,我看到自己以下面的样式嵌入图标,但在[Embed]元标记中使用变量不起作用。 下面的代码包含在一个自定义组件中,所以我很容易应该能够为每个应用程序(包括组件)设置不同的图标。我如何解决这个问题?Flex动态嵌入

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; 

回答

0

你有好几个选择:

  1. 写简单的代码生成器 构建相应的源文件。

  2. 在运行时加载图标,即 您可以更改路径的方式。

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

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

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

0

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

1

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

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

希望帮助, 兰斯

0

ü可以用

btn.setStyle(“icon”,iconSymbol); 

它可以帮助