TextFormat,顾名思义,就是格式化文本用的。里面的相关属性,也都是用于设置或修改文本的格式。

      1TextFormat包含的内容

      再一次把属性面板图给搬过来,嘿嘿:

      clip_p_w_picpath002

 

和面板对应的相关属性有:

font:设置文本的字体名称,以字符串形式表示。

size:设置文本的字体大小,以磅值表示。

color:设置文本的字体颜色。

bold:设置文字是否为粗体。

italic:设置文字是否为斜体。

align:设置文本对齐方式。包括左端对齐、居中对齐、右端对齐、两端对齐。

indent:设置文本第一个字符的缩进像素。

leading:设置文本之间的行间距。

leftMargin:设置文本段落的左边距。

rightMargin:设置文本段落的右边距。

letterSpacing:设置文本的字间距。

kerning:设置是否启用自动调整字距功能。

url:设置文本的超链接地址。

target:设置超链接打开目标窗口的方式。

其他还有4个属性,是属性面板没有提供的设置,但是也几乎没有什么作用,所以我就不列出来了。

 

      2TextFormat的用法

      使用TextFormat之前,需要先实例化。具体代码如下:

      var format:TextFormat = new TextFormat(); //定义textFormat对象

      format.font = "Verdana"; //设置具体属性

      tt.defaultTextFormat = format; //设置默认格式

      tt.setTextFormat(format,1,8); //设置格式

 

      defaultTextFormat属性可以设置文本的默认格式。也就是说,当文本发生变化时,会自动应用设置的格式。但当前存在的文本是不会变化的。

      setTextFormat()方法刚好相反,可以设置当前文本的格式,或者具体设置其中一部分文本应用指定格式。但当文本发生变化时,是不会生效的。

 

      3)关于TextFormat的一些自我看法

      结合TextField和TextFormat的属性,我们可以实现属性面板的所有设置功能。不过,Adobe的开发团队,对于这两个对象的开发应该是独立的,所以两者之间也存在着一些矛盾。比如:TextField的autoSize和textColor属性,和TextFormat的align、color属性,明显是重复的。体现在AS代码上,就是谁后写,就生效谁的。但是这样子是很容易产生错误的。

      所以我建议大家,还是用TextFormat对象来设置文本对齐方式和文本字体颜色,以免发生不必要的错误。毕竟,严格意义上来说,这两个属性也确实是TextFormat应该管的事。

      另外还有一个小点,TextField的文本对齐方式是不支持两端对齐的,但TextFormat是支持的。所以以为AS代码不支持两端对齐的朋友,你们的看法是错的。