Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   проблемы с setStyle("textFormat", (http://www.flasher.ru/forum/showthread.php?t=164313)

evgen4ik 15.08.2011 19:08

проблемы с setStyle("textFormat",
 
всем доброго дня!
Пороблема в задании цвета и размера лейбла с помощью setStyle.
Стиль шрифта, жирность, наклон, ... назначаются нормально. А вот цвет и размер приходится задавать через label.color и label.size.
Подскажите, плиз, решается ли эта проблема. И, если да, то как!

silin 15.08.2011 19:26

не понятно о каком лейбле речь
посмотрел fl.controls.Label, он нормально воспринимает цвет и размер в текстФормате через setStyle

evgen4ik 15.08.2011 19:49

Речь идёт об обычном лейбле.
Привожу код создания компонента:
Код AS3:

private function createHeaderTitleLabel():Label
{
        var textFormat:TextFormat = FontManager.getTextFormatByQuestInfoWindowsTitleLabel();
 
        var temp:Label = new Label();
        temp.left = 140;
        temp.top = 10;
        temp.setStyle("textFormat", textFormat);
        temp.setStyle("embedFonts", true);
        return temp;
}

Часть класса FontManager:
Код AS3:

public static function getTextFormatByQuestInfoWindowsTitleLabel():TextFormat
{
        return getTextFormat(FONT_FAMALY_STORY, FONT_SIZE_22, FONT_COLOR_DARK_BLUE, true);
}
 
protected static function getTextFormat(fontFamaly:String = null, size:uint = 12, color:uint = 0, bold:Boolean = false):TextFormat
{
        var textFormat:TextFormat = new TextFormat();
        textFormat.font =  fontFamaly;
        textFormat.size = size;
        textFormat.color = color;
        textFormat.bold = bold;
 
        return textFormat;
}

Повторюсь: при таком подходе не задаётся размер и цвет текста создаваемого лейбла! :(

dimarik 15.08.2011 19:57

Проблема в том, что через стиль "textFormat" не задается размер и цвет текста.

evgen4ik 15.08.2011 20:02

dimarik, ты прям философ!
почему тогда используется объект класса TextFormat (в котором есть цвет и размер) для задания стиля "textFormat"??

toFL 15.08.2011 20:10

От адобов:

Цитата:

Use styles with the Label component
Код AS3:

/* Create a new TextFormat object, which allows you to set multiple text properties at a time. */ 
 
var tf:TextFormat = new TextFormat();
tf.color = 0xFF0000;
/* Apply this specific text format (red text) to the Label instance. */
a_label.setStyle("textFormat", tf);

Если у вас компонент Label, то все должно работать.

silin 15.08.2011 20:12

не известно что есть FONT_FAMALY_STORY, FONT_SIZE_22, FONT_COLOR_DARK_BLUE и нет ли там подвоха,
но какбы 'напрямую' все задается , я что-то не так делаю?
Код AS3:

var label:Label = new Label();
label.autoSize = TextFieldAutoSize.LEFT;
label.setStyle("textFormat", new TextFormat("_sans", 48, 0xFF0000));
addChild(label);


evgen4ik 15.08.2011 20:17

У меня компонент spark.components.Label

Добавлено через 4 минуты
Цитата:

Сообщение от silin (Сообщение 1021871)
не известно что есть FONT_FAMALY_STORY, FONT_SIZE_22, FONT_COLOR_DARK_BLUE и нет ли там подвоха

подвоха нет)) это обыкновенные константы, значение которых указано в названии.

silin 15.08.2011 20:45

у spark.components.Label есть fontFamily, color, fontSize, ..
а textFormtat вроде бы и вовсе нет
тогда странно, что вообще что-то работает и как он в AS3 вообще работает тоже интересно

evgen4ik 15.08.2011 20:49

да уж....


Часовой пояс GMT +4, время: 04:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.