Flex вставлять динамически - PullRequest
0 голосов
/ 30 ноября 2009

В одном проекте у меня есть несколько похожих приложений, они просто немного отличаются здесь и там. Как и некоторые из значков / изображений. Чтобы упростить организацию, я вижу себя встраивающим иконки в стиле, подобном приведенному ниже, однако использование переменных в метатеге [Embed] не работает. Приведенный ниже код содержится в пользовательском компоненте, поэтому я легко могу установить различные значки для каждого приложения, включая компонент. Как мне обойти эту проблему?

public var iconBase:String = "/icons/red/";
[Embed(iconBase + "play.png")] [Bindable] public var icon_play:Class;
[Embed(iconBase + "stop.png")] [Bindable] public var icon_stop:Class;

Ответы [ 4 ]

1 голос
/ 20 февраля 2010

Это должно ответить на ваш вопрос: Динамическое встраивание источников .

Метаданные предварительно обрабатываются компилятором, поэтому в них не может быть никаких переменных.

Надеюсь, это поможет, Lance

0 голосов
/ 06 сентября 2013

вы можете использовать

btn.setStyle(“icon”,iconSymbol);

это может помочь

0 голосов
/ 03 декабря 2009

Одним из вариантов является использование ResourceManager и размещение операторов вставки в файлах ресурсов. Разные приложения могут определять разные пакеты ресурсов.

0 голосов
/ 30 ноября 2009

У вас есть довольно много вариантов:

  1. Написать быстрый генератор кода для собрать соответствующие исходные файлы.

  2. Загрузка значков во время выполнения, чтобы как вы могли бы изменить пути.

  3. Используйте символические ссылки, чтобы изменить где файлы значков получены из.

  4. Создать библиотеку значков или модуль и либо загрузить их во время компиляции, либо во время выполнения.

Думаю, я просто загрузил бы изображения во время выполнения и изменил базовый путь

...