Нужна помощь с setTextFormat (AS3) - PullRequest
       1

Нужна помощь с setTextFormat (AS3)

0 голосов
/ 26 августа 2011

Я пытаюсь сделать rss ридер с помощью Flash CS5.5.Это почти закончено, но я не мог оформить заголовки новостей.Проблема в том, что некоторые части текстового поля должны быть выделены жирным шрифтом и цветом.Вот мой код:

var num:int = 0;
var tempText:String;
var titleStr:String;
var timeStr:String;
var descriptionStr: String;

function rssLoaded(evt:Event):void {
    rssXML = XML(rssLoader.data);
    // trace(rssXML);

    num = 0;
    for (var rssTitle:String in rssXML.channel.item) {

        // Set title
        tempText = rssXML.channel.item[rssTitle].title;
        tempText = tempText.slice(6);
        titleStr = tempText + "\r\n";

        // Set description
        tempText = rssXML.channel.item[num].description;
        // Detect if beginning with tags
        if ((tempText.charCodeAt(0) == 60) && (tempText.charCodeAt(1) == 73)) {
            tempText = tempText.slice(tempText.search("/>") + 2, tempText.search("<img"));
        } else {
            tempText = tempText.slice(0, 140);
        }
        // Detect if still contains tags
        if ((tempText.indexOf("<") != -1) || (tempText.indexOf(">") != -1)) {
            num++;
            continue;
        }
        // Detect if beginning with space
        for (var num2:int=0; tempText.charCodeAt(0) == 32  || tempText.charCodeAt(0) == 160; num2++) {
            tempText = tempText.slice(1);
        }
        descriptionStr = tempText + "...\r\n\r\n";

        main_txt.appendText(titleStr);

        main_txt.setTextFormat(title_tf, main_txt.text.length - titleStr.length, titleStr.length-2);

        main_txt.appendText(descriptionStr);
        num++;
    }
}

var title_tf:TextFormat=new TextFormat();
title_tf.bold=true;

Когда я тестирую код, я вижу, что только первая строка выделена жирным шрифтом, а все заголовки должны быть выделены жирным шрифтом.Извините за мой английский.

С уважением

1 Ответ

0 голосов
/ 26 августа 2011

Было бы намного проще стилизовать текст с помощью свойства TextField.htmlText:

title_tf.htmlText = "<b>" + titleTextString + "</b><br/>" + bodyTextString;

Этот подход также позволит вам использовать CSS следующим образом:

title_tf.styleSheet = myImportedStyleSheet;
title_tf.htmlText = "<span class='titleClass'>" + titleTextString + "</span><br/><span class='bodyClass'>" + bodyTextString + "</span>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...