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

发布于 2024-07-11 14:58:55 字数 984 浏览 5 评论 0原文

我将 SVG 图形嵌入到我的 Flex 应用程序中

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 图形在应用程序中的位置,将它们缩放到每个外观的适当大小,即在树中使用它们时将它们缩放到适当的图标大小
  • 在运行时更改图标的大小,例如为所选项目显示稍大的图标或让图标“脉冲”作为对某些事件的响应

我阅读了有关嵌入标记中的 9 切片缩放属性的 Flex 文档,但我认为这不是我想要的。


编辑:

我未能成功检查SO建议的“类似问题”,其中包括:

Flex:修改嵌入图标并在按钮中使用它?

I embed SVG graphics in my Flex application using

package MyUI
{
    public class Assets
    {
        [Embed(source="/assets/pic.svg"]
        [Bindable]
        public static var svgPic:Class;
    }
}

and then extending the Tree class with some of my own code, setting the icon upon adding a node to the data provider:

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

Now I have two things I want to do:

  • use the SVG graphics in multiple places in the app, scaling them to the appropriate size for each appearance, i. e. scale them to a proper icon size when using them in the tree
  • change the size of the icon at runtime, e. g. display a slightly larger icon for selected items or let an icon "pulse" as a response to some event

I read the Flex documentation on the 9-slice scaling properties in the Embed tag, but I think that's not what I want.


Edit:

I unsuccessfully checked the "similar questions" suggested by SO, among others this one:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

著墨染雨君画夕 2024-07-18 14:58:55

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

exampleTree.itemRenderer = new ClassFactory( ExampleCustomItemRendererClass );

Subclass mx.controls.treeClasses.TreeItemRenderer and make it resize the icon to your desired dimensions, or create your own item renderer implementation by using the same interfaces as TreeItemRenderer. Set a custom item renderer with the itemRenderer property:

exampleTree.itemRenderer = new ClassFactory( ExampleCustomItemRendererClass );
萌辣 2024-07-18 14:58:55

这个问题的答案可能会为您指明正确的方向,而无需更多地了解您遇到的问题:

Flex:修改嵌入图标并在按钮中使用它?

希望它有帮助!

The answer to this question might point you in the right direction, without knowing more about the trouble you're having:

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

Hope it helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文