Я встраиваю графику 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 в нескольких местах приложения, масштабируя их до соответствующего размера для каждого внешнего вида, т.е. е. масштабируйте их до нужного размера значков при использовании в дереве
- изменить размер значка во время выполнения, e. г. отображать немного более крупный значок для выбранных элементов или позволить значку «пульсировать» в ответ на какое-либо событие
Я прочитал документацию Flex о свойствах 9-сегментного масштабирования в теге Embed, но думаю, что это не то, что мне нужно.
Редактировать:
Я безуспешно проверил «похожие вопросы», предложенные SO, в том числе этот:
Flex: измените встроенный значок и используйте его в кнопку?