http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/Label.html -在这里我看到了一个htmlText属性,但是当我这样做的时候
myLabel.htmlText = '<p>some value</p>';我得到一个错误,没有htmlText属性
flex 4.6,火花标签
发布于 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,你可以这样做:
<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText>最后,如果您有一些从其他地方获得的HTML,并且不想对其进行操作,则至少有两个选择:
Label及其htmlText属性RichText组件和静态方法TextConverter.importToFlow()将HTML字符串转换为TLF TextFlow对象。创建TextFlow后,可以使用转换后的TextFlow并在RichText组件的textFlow属性上设置它,请参见下面的内容。使用TextConverter类将HTML文本导入TextFlow对象:
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;https://stackoverflow.com/questions/16950906
复制相似问题