2013-06-05 37 views

回答

4

所不同的是,您已鏈接到<mx:Label />的文檔,該文檔與<s:Label />完全不同。 MX組件與Spark組件(或Flex 3與Flex 4)的比較。

不同之處在於,較新的Spark Label組件基於Flash文本引擎(FTE),這是一個非常低級的Actionscript文本框架。

還有另一個文本組件是基於文本佈局框架(進一步建立在FTE上),RichText組件。這也沒有htmlText屬性,但是對於TLF,您可以使用HTML語法來提供它。如果你想走這條路線,請查看RichText的文檔。

隨着RichText你可以做這樣的東西:

<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText> 

最後,如果你有一些HTML,你從其他地方找來的,不想操縱它至少有兩個選項:

  1. 使用的Label的MX版本和它的htmlText財產
  2. 使用RichText組件和靜態方法TextConverter.importToFlow()於CONV將您的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;