Как использовать предопределенный стиль CSS для программно нарисованного TextField? - PullRequest
0 голосов
/ 17 января 2009

У меня есть графическое приложение, которое отображает текст в BitmapData - сейчас он жестко задан для использования определенного шрифта, и это хорошо для тестирования, но для производства мне действительно нужно, чтобы он был в стиле.

В остальной части приложения используются определенные шрифты, и я хочу иметь возможность просто использовать стилевое имя (стиль шрифта) для создания объекта TextFormat для передачи встроенному объекту TextField текстовых спрайтов.

Итак, вот последовательность, примерно:

        var format:TextFormat = new TextFormat();
        format.font = "Arial";
        format.color = 0xFF0000;
        format.size = 12;
        // tf is a previously instantiated TextField()
        tf.defaultTextFormat = format;
        tf.autoSize = TextFieldAutoSize.LEFT;

        tf.text = _text;

Затем, позже, он просто рисуется с помощью:

        bmpData.fillRect(srcRect,0x00000000);
        bmpData.draw(tf);

Теперь это неприятно, так как я могу получить таблицы стилей или TextFormat из определений CSS моих приложений? Я посмотрел в StyleManager, CSSStyleDeclaration, кажется, ничего не подходит. Кто здесь, кто-нибудь?

Ответы [ 2 ]

1 голос
/ 19 января 2009

Вы можете попробовать что-то вроде следующего

Если вы установили что-то в своем CSS-файле с именем TextFormat.

var css:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TextFormat")
yourComponent.setStyle("textAlign", getStyle("headerTextAlign"));
yourComponent.setStyle("fontFamily", getStyle("fontFamily"));

Это должно сделать то, что вы ищете.

1 голос
/ 17 января 2009

По сути, вы можете просто добавить теги метаданных [style] в свой пользовательский класс, чтобы определить свойства пользовательского стиля, указать значения этих свойств в вашем CSS и использовать getStyle("myCustomStylePropertyName") в своем коде, чтобы получить значения, установленные в CSS.

См. Справка Flex 3: Пример: создание свойств стиля для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...