Flash Lite: форматирование htmlText - PullRequest
0 голосов
/ 15 декабря 2010

в ореховой скорлупе
У меня есть приложение для flash (сделано для flash lite - actionscript 2).Когда я загружаю в свое приложение файл XML и обрабатываю его в объекте.Я получаю правильный ввод HTML в текстовом поле.
Однако, если я жестко закодировал объект , все теги html исчезнут из атрибута .htmlText, и перед текстом будет размещен код.Я намерен жестко закодировать объект, так как загрузка идет намного быстрее, чем в xml.

Короче говоря: string.html = true; удаляет все теги span, пока они мне нужны.Как получить теги span в htmlText моего текстового поля?

ПОДРОБНАЯ ИНФОРМАЦИЯ НИЖЕ

В моем приложении я создаю текстовые поля, вставляю в них текст, а затем устанавливаю правильные значения x и y, чтобы они все хорошо помещались под друг друга.

внутри функции:

//ABOVE I CREATE TEXTFIELD USING THE .CREATETEXTFIELD FUNCTION
this["text" + this._textFieldCounter].html = true;
this["text" + this._textFieldCounter].multiline = true;
this["text" + this._textFieldCounter].wordWrap = true;
this["text" + this._textFieldCounter].autoSize = true;
this["text" + this._textFieldCounter].styleSheet = this._styleSheet;
this["text" + this._textFieldCounter].condenseWhite = true;
this["text" + this._textFieldCounter].htmlText = "<span class=\"page\">" + strHtmlText + "</span>";
//trace(this["text" + this._textFieldCounter].htmlText);

Когда я отслеживаю htmlText, я получаю

<P ALIGN="LEFT">
<FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">
//here comes the strHtmlText
</FONT>
</P>

Flash автоматически помещает эти теги p и шрифта перед моим текстом.Так что моя таблица стилей не будет отображать правильный стиль.Как избавиться от начального тега align и font, но при этом сохранить текстовое поле в виде html?

EDIT
Установив форматирование текста, я нашел способ обойти эту проблему ..ОДНАКО
У меня новая проблема:
В моем strHtmlText есть span-теги (<span class="text-in">blabla</span>), но это отфильтровывается.Почему это ?моя таблица стилей ничего не делает без этих стилей.

(текст загружается из массива)

1 Ответ

1 голос
/ 19 декабря 2010

Он должен иметь отношение к порядку, в котором вы присваиваете свойства TextField.Должно быть: 1. установить field.html на true, 2. назначить styleSheet, 3. установить htmlText.Таблица стилей должна быть установлена ​​до назначения htmlText - я первоначально разместил ссылку на документацию as3, но это верно как для AS2, так и для AS3.

Попробуйте это: поместите TextField на этапе нового AS2FLA.Установите его тип в динамический.Назовите его "_textField".Установите шрифт Verdana, 16px, Black.Введите «Ошибка».или что-то подобное в TextField, так что в нем есть текст.Нажмите «Вставить шрифты», убедитесь, что в них включено достаточное количество букв, например ascii или Latin-1.На временной шкале введите этот код в первый кадр фильма.

var style:TextField.StyleSheet = new TextField.StyleSheet();
style.parseCSS("p {font-family:Verdana; font-size:12px; color:#FF0000;}");
_textField.html = true;
_textField.styleSheet = style
_textField.htmlText = "<p>This is a test.</p>";
trace (" new text:"+_textField.htmlText);

Теперь, когда вы запустите программу, она должна изменить текст на «Это тест», цвет на красный иРазмер шрифта до 12 пикселей.Это происходит на моем компьютере.Кроме того, трассировка печатает точно такой же текст, который назначен htmlText.

. Теперь вернитесь назад и замените строки, назначающие свойства styleSheet и htmlText.Перезапустите программу.В нем будут все дополнительные теги, на которые вы жаловались.

...