Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как задать стиль TextField'у (http://www.flasher.ru/forum/showthread.php?t=118861)

ZlPredator 05.12.2008 17:20

Как задать стиль TextField'у
 
Как указать стиль для текста без тегов, не обволакивая этот текст в '<body>' и пр.:

Код AS3:

var t:TextField = new TextField();
var s:StyleSheet = new StyleSheet();
s.setStyle(".defStyle",{color:"#FFFFFF"});
t.styleSheet = s;
t.htmlText = "Проверка";

Приблизительно такой пример в мануале, но указание ".defStyle" не помогает, текст все равно чёрный!

BlooDHounD 05.12.2008 17:36

в приблизительно и вся разница.
Код AS3:

t.htmlText = '<span class="defStyle">Проверка</span>';


ZlPredator 05.12.2008 17:42

http://livedocs.adobe.com/flash/9.0/...tml#styleSheet - покажите мне где там ваша запись (или где вообще Вы такое увидели).
Да даже если так, это все равно не ответ на вопрос.

etc 06.12.2008 02:44

В хелпе, судя по всему, ошибка. Если устроит, то defaultTextFormat.

BlooDHounD 06.12.2008 17:15

ZlPredator, а что именно "не ответ"? код работает, что Вам ещё надо?

ZlPredator 06.12.2008 17:59

Цитата:

Сообщение от BlooDHounD (Сообщение 782011)
ZlPredator, а что именно "не ответ"? код работает, что Вам ещё надо?

Внимательно прочитайте первое предложение, особенно часть "не обволакивая этот текст в '<body>' и пр.".
И вообще, я верю, что это любовь с первого взгляда, но харош флудить.

Цитата:

В хелпе, судя по всему, ошибка. Если устроит, то defaultTextFormat.
Похоже на то.
defaultTextFormat не подходит, поскольку он не даёт возможности выносить из кода стили в виде текста в другие места. Всё идёт к тому, что придется проверять текст на теги <body>, и если их там нету, то добавлять (подход офигенно не удобен, особенно при модификации текстов).

demouser 04.06.2009 10:48

Я так сделал:
Код AS3:

function setStyle(style:Object, name:String = ''):void {
  if(!name) {
    // stylesheet can't set styles to text which is not wrapped by tags. Turn off stylesheet, set textformat and set stylesheet back.
    var styleSheet:StyleSheet = m_field.styleSheet;
    m_field.styleSheet = null;
    var tf:TextFormat = styleSheet.transform(style);
    m_field.defaultTextFormat = tf;
    m_field.setTextFormat(tf);
    m_field.styleSheet = styleSheet;
  }
  else m_field.styleSheet.setStyle(name, style);
}



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

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