如何更改Flex中Tree控件中图标的大小?

时间:2009-01-14 13:12:28

标签: flex tree icons

我使用

在我的Flex应用程序中嵌入了SVG图形
package MyUI
{
    public class Assets
    {
        [Embed(source="/assets/pic.svg"]
        [Bindable]
        public static var svgPic:Class;
    }
}

然后使用我自己的一些代码扩展Tree类,在向数据提供者添加节点时设置图标:

public class MyTree extends Tree
{
    public function MyTree()
    {
        // ...
        this.iconField = "svgIcon";
        // ...
        this.dataProvider = new ArrayCollection;
        this.dataProvider.addItem({ /* ... */ svgIcon: MyUI.Assets.svgPic /* ... */ });
        // ...
    }
}

现在我有两件事我想做:

  • 在应用程序的多个位置使用SVG图形,将它们缩放到适合每个外观的大小,即。即在树中使用它们时将它们缩放到合适的图标大小
  • 在运行时更改图标的大小,例如: G。为所选项目显示稍大的图标,或者让图标“脉冲”作为对某些事件的响应

我在Embed标签中阅读了关于9切片缩放属性的Flex文档,但我认为这不是我想要的。


编辑:

我没有成功检查过SO提出的“类似问题”,其中包括以下问题:

Flex: Modify an embedded icon and use it in a button?

2 个答案:

答案 0 :(得分:1)

子类mx.controls.treeClasses.TreeItemRenderer并将图标调整为所需尺寸,或使用与TreeItemRenderer相同的接口创建自己的项目渲染器实现。使用itemRenderer属性设置自定义项呈示器:

exampleTree.itemRenderer = new ClassFactory( ExampleCustomItemRendererClass );

答案 1 :(得分:0)

这个问题的答案可能会指出你正确的方向,而不是更多地了解你所遇到的麻烦:

Flex: Modify an embedded icon and use it in a button?

希望它有所帮助!