开发者

Need help with setTextFormat (AS3)

I'm trying to make an rss reader with Flash CS5.5. It's almost finished but i couldn't style news titles. The problem is some parts of a textfield needs to be bold and colored. Here's my code:

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 = rss开发者_高级运维XML.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;

When I test the code, I'm seeing that only the first line is bold, while all titles needs to be bold. Sorry for my English.

Sincerely


It would be much simpler to style the text using the TextField.htmlText property:

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

This approach would also allow you to use CSS like this:

title_tf.styleSheet = myImportedStyleSheet;
title_tf.htmlText = "<span class='titleClass'>" + titleTextString + "</span><br/><span class='bodyClass'>" + bodyTextString + "</span>";
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜