如何在flex中使用css文件作为图像源?

时间:2012-04-18 08:43:27

标签: flex flex3

我有很多应用程序的图标,现在它嵌入了 脚本标记 例如:在我的脚本标签中我有

    [Embed(source="/assets/icons/save_it_icon.png")]

    [Bindable] 

    private var saveIcon:Class; 

在我的flex组件中:

<mx:Image  id ="savePaneImg" source="{saveIcon}" 
        buttonMode="true" 
        toolTip="Save comments" 
        click="doSave();" /> 

如何将此图像源移动到css文件以获得可重用性 不同的组件?

提前致谢

3 个答案:

答案 0 :(得分:2)

source不是样式属性,您无法在css中设置它。相反,我建议你创建一个类,其中将存储所有图像。

[Bindable]
public class IconManager {

    [Embed(source="/assets/icons/save_it_icon.png")]
    public static var saveIcon:Class;

}

用法:

<mx:Image  id ="savePaneImg" source="{IconManager.saveIcon}" 
            buttonMode="true" 
            toolTip="Save comments" 
            click="doSave();" /> 

答案 1 :(得分:0)

检查此代码,这对您有帮助....

public class IconSrc{
  [Embed(source="/assets/icons/save_it_icon.png")] 
  [Bindable]
  private var _icon1:Class
  public static function getSource(icon:String):Class{
    switch(icon){
     case "icon1": return _icon1;break;
      .
      .
      .
    }
  }
}

<mx:Image  id ="savePaneImg" source="{IconSrc.getSource('icon1')}"  
            buttonMode="true"  
            toolTip="Save comments"  
            click="doSave();" /> 

答案 2 :(得分:0)

我建议你查看这篇文章 Howto embed images in Actionscript 3 / Flex 3 the right way?

创建一个类并将所有资产存储在那里作为静态变量。然后从各处访问它们。