创建的ItemRenderer从@Embed(源=“xxx.png”)的ItemRenderer

问题描述:

延伸按照问题last question创建的ItemRenderer从@Embed(源=“xxx.png”)的ItemRenderer

我可以成功地创建从CircleItemRenderer或任何其他ProgrammaticSkin的itemRenderer像下面扩展的类。

public class LSLabelCircleItemRenderer extends CircleItemRenderer 
    { 
     private var _label:Label; 
     public function LSLabelCircleItemRenderer():void 
     { 
      super(); 
      _label = new Label(); 
     } 
     override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void 
     { 
      super.updateDisplayList(unscaledWidth, unscaledHeight); 
      if(data != null){ 
       var ls:LineSeries = ChartItem(data).element as LineSeries; 
       label.text = LineSeriesItem(data).yValue.toString(); 
       skin.parent.addChild(label); 
       label.setStyle("color",ls.getStyle("fill")); 
       label.move(skin.x - label.getExplicitOrMeasuredWidth()/5,skin.y - label.getExplicitOrMeasuredHeight()); 
      } 
     }  
    } 

现在我发现,我发现没有地方做同样的事情嵌入图像的ItemRenderer这MXML是像下面

itemRenderer="@Embed(source='../assets/butterfly.gif')" 

如何添加我custome标签与这种ItemRenderer

谢谢!

类似你是怎么做到前面的itemRenderer,您可以嵌入图像添加到扩展的itemRenderer

[Embed(source="../assets/butterfly.gif")][Bindable] public var butterflyClass:Class; 

var image:Image = new Image(); 
image.source = butterflyClass; 

参见:Using the [Embed] metadata tag

+0

谢谢!我发现用这种方法我必须手动确定宽度和高度,或者默认的宽度和高度是0 ... – Willy