如何更改 Flex 中 Tree 控件中图标的大小?
我将 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建议的“类似问题”,其中包括:
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:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
子类 mx.controls.treeClasses.TreeItemRenderer并将图标大小调整为您想要的尺寸,或者使用与 TreeItemRenderer 相同的接口创建您自己的项目渲染器实现。 使用
itemRenderer
属性设置自定义项目渲染器: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:这个问题的答案可能会为您指明正确的方向,而无需更多地了解您遇到的问题:
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!