首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在标签中使用htmlText属性

无法在标签中使用htmlText属性
EN

Stack Overflow用户
提问于 2013-06-06 06:23:48
回答 1查看 2.4K关注 0票数 1

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/Label.html -在这里我看到了一个htmlText属性,但是当我这样做的时候

代码语言:javascript
复制
myLabel.htmlText = '<p>some value</p>';

我得到一个错误,没有htmlText属性

flex 4.6,火花标签

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-06 07:10:40

不同之处在于您链接到了<mx:Label />的文档,它是一个与<s:Label />完全不同的组件。MX组件与Spark组件(或Flex 3与Flex 4)。

产生差异的原因是,较新的Spark组件基于Flash Text Engine (FTE),这是一个非常低级的Label文本框架。

还有另一个基于文本布局框架(进一步构建于FTE之上)的文本组件,即RichText组件。它也没有htmlText属性,但是有了TLF,你就可以为它提供类似超文本标记语言的语法。如果您想走这条路,请查看文档中的RichText。

使用RichText,你可以这样做:

代码语言:javascript
复制
<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText>

最后,如果您有一些从其他地方获得的HTML,并且不想对其进行操作,则至少有两个选择:

  1. 使用MX版本的Label及其htmlText属性
  2. 使用RichText组件和静态方法TextConverter.importToFlow()将HTML字符串转换为TLF TextFlow对象。创建TextFlow后,可以使用转换后的TextFlow并在RichText组件的textFlow属性上设置它,请参见下面的内容。

使用TextConverter类将HTML文本导入TextFlow对象:

代码语言:javascript
复制
private var htmlText:String = "<html><body><p>Hi whirld</p></body></html>";
private var flow:TextFlow = TextConverter.importToFlow(htmlText, TextConverter.TEXT_FIELD_HTML_FORMAT);
myRichTextLabel.textFlow = flow;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16950906

复制
相关文章

相似问题

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