Flash Lite:htmlText格式

时间:2010-12-15 10:42:47

标签: flash actionscript actionscript-2 htmltext

在坚果中
我有一个flash应用程序(专为flash lite - actionscript 2制作)。 当我在我的应用程序中加载 XML 文件并在对象中处理它。我在文本字段中输入了正确的html输入 但是,如果我对对象进行硬编码,则所有html标记都会从.htmlText属性中消失,并且代码会放在文本前面。我打算对对象进行硬编码,因为加载比xml要快很多。

长话短说:string.html = true;会删除所有span标签,而我需要这些标签。如何在文本域的htmlText中获取span标签?

以下更多信息

在我的应用程序中,我创建文本字段,在其中放入一些文本,然后设置正确的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和font标签放在我的文本前面。所以我的样式表不会显示正确的样式。如何摆脱初始对齐和字体标记,但仍将文本字段保留为html?

修改
通过设置textformat,我找到了解决这个问题的方法......然而,再见 我有一个新问题:
在我的strHtmlText中有span-tags(<span class="text-in">blabla</span>),但这会被过滤掉。为什么 ?没有这些样式,我的样式表没有做任何事情。

(文本从数组加载)

1 个答案:

答案 0 :(得分:1)

它必须与将属性分配给TextField的顺序有关。它应该是:1。将field.html设置为true,2。分配styleSheet,3。设置htmlText。 必须在分配htmlText之前设置styleSheet - 我最初发布了as3文档的链接,但对于AS2和AS3都是如此。

试试这个:将TextField放在新AS2 FLA的舞台上。将其类型设置为动态。将其命名为“_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);

现在运行程序时,应将文本更改为“This is a test”,颜色为红色,字体大小为12 px。它在我的电脑上。此外,跟踪还会打印分配给htmlText的完全相同的文本。

现在返回并交换分配styleSheethtmlText属性的行。重新运行该程序。它将包含您抱怨的所有额外标签。