2009-11-30 78 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); 

它可以幫助