让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 文本组件,视项目需要而定。

上一篇上一篇: 慎用Flex RSL
下一篇下一篇: Flex 4中LineSeries的两个Bug
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Flex4 TLF
相关相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭