首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash : htmlText格式

Flash : htmlText格式
EN

Stack Overflow用户
提问于 2010-12-15 10:42:47
回答 1查看 3.9K关注 0票数 0

概括起来

我有一个flash应用程序(为2制作)。当我在我的应用程序中加载一个XML文件并在一个对象中处理它时。我在textfield中得到正确的html输入。

但是,如果我硬编码对象,那么所有的html标记都会从.htmlText属性中消失,并且文本前面有代码。我打算对对象进行硬编码,因为加载速度比xml快得多。

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

下面是更多的信息

在我的应用程序中,我创建了textfields,在其中放置了一些文本,然后设置了正确的x和y值,因此它们都很好地放置在彼此之间。

功能内部:

代码语言:javascript
复制
//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的时候

代码语言:javascript
复制
<P ALIGN="LEFT">
<FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">
//here comes the strHtmlText
</FONT>
</P>

Flash自动将p和字体标签放在我的文本前面。所以我的样式表不会显示正确的样式。如何去掉初始对齐和字体标记,但仍然将textfield保持为html?

编辑

通过设置文本格式,我找到了解决这个问题的方法.不过,

我有个新问题:

在我的strHtmlText中有跨标记( <span class="text-in">blabla</span> ),但是这会被过滤掉。为什么这么说?没有这些样式,我的样式表不会做任何事情。

(从数组加载文本)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-19 18:07:11

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

试一试:将一个TextField放到一个新的AS2 FLA的舞台上。将其类型设置为动态类型。把它命名为"_textField“。将字体设置为Verdana,16 to,Black。输入“错误”或者类似于TextField,这样它就有了一些文本。点击“嵌入字体”,确保包含足够数量的字母,如ascii或拉丁文-1。在时间线上,将这段代码输入电影的第一帧。

代码语言:javascript
复制
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 px。就在我的电脑上。此外,跟踪打印的文本与分配给htmlText的文本完全相同。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4449031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档