如何使用运行时生成的Sprite对象作为List或Tree的图标?

时间:2010-12-16 08:58:08

标签: flex actionscript-3 tree flex4 icons

我几个月来一直在寻找这个问题。

默认情况下,List和Tree的iconFunction仅返回Class作为图标,用于由此站点http://blog.benstucki.net/?p=42友情提供的嵌入图像或iconUtility。它与预先创建的图像非常吻合。

但我真正想要的是接受一个完全运行时生成的精灵对象,类似于Legend所做的,颜色根据当前状态而变化。我假设我可以做一些事情来使ListBase接受除Class之外的图标参数。我是仪式吗?或者请告诉我将要做什么。

非常感谢!

Wildog

2 个答案:

答案 0 :(得分:0)

我不是设置树项的图标,而是使用TreeItemRenderer作为起点创建自定义项呈示器。然后将所需的任何组件放在文本的左侧,并将文本向右移动一点。此方法的另一个优点是,您可以在设置为项呈示器的数据发生更改时动态更改子画面。希望有所帮助。

答案 1 :(得分:0)

我不确定这是否正是您想要做的,但您可以轻松地将您的精灵转换为BitmapData(可用于创建BitmapAsset)

e.g。

var bmp:BitmapData = new BitmapData(sprite.width, sprite.height);
bmp.draw(sprite);

var bmpasset:BitmapAsset = new BitmapAsset(bmp);