创建的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;
谢谢!我发现用这种方法我必须手动确定宽度和高度,或者默认的宽度和高度是0 ... – Willy