让Spark文本组件支持Html标签

默认下Spark 文本组件是不支持Html标签的,但我们可以使用TextConverter类中的importToFlow()方法解决这个问题。

看下面代码:

package controls
{
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.elements.TextFlow;

import spark.components.RichText;

public class RichHtmlText extends RichText
{
public function RichHtmlText()
{
super();
}

private var _htmlText:String

public function get htmlText():String
{
return _htmlText;
}

public function set htmlText(value:String):void
{
_htmlText = value;
var tf:TextFlow = TextConverter.importToFlow(value, TextConverter.TEXT_FIELD_HTML_FORMAT);
this.textFlow = tf;
}
}
}

上面代码中,我们使用importToFlow()方法,基于Html格式的文本创建了TextFlow实例,再将该实例指定为该文本的 TextFlow对象,从而扩展了RichText 类,使其支持支持Html标签。该自定义类用法很简单,将Html文本赋值给htmlText属性即可,和MX文本组件的用法类似。

如果要支持Html标签,Adobe建议使用MX文本组件,因为它们比Spark文本组件轻量,但MX文本组件不支持Text Layout Framework (TLF)中的新特性。因此是使用MX文本组件还是本文中扩展的Spark 文本组件,视项目需要而定。

你可能感兴趣的:(html,Adobe)