在FLASH中,也可以运用像WORD一样的对文本段落进行格式化的方法。比如,选取某段文本后,对该文本进行格式化。就是个性化的设置。
在FLASH中,需要运用TextFormat类。
用法如下:
var my_format:TextFormat = new TextFormat();
my_format.align = "left";
txtField.setTextFormat(my_format);
这是一个简单的对场景中动态文本txtField进行设置段落居左对齐的简单代码。场景中动态文本框的实例名称为txtField。
很简单的,对吧?
下面看看部分得要的属性。
align(TextFormat.align 属性)指示段落的对齐方式。您可以将此属性应用在静态文本和动态文本中。下面的列表显示此属性的可能值:
"left"--段落为左对齐。
"center"--段落居中。
"right"--段落为右对齐。
"justify"--段落为两端对齐。(Flash Player 8 中添加了此值。)
默认值为 null,它指示该属性未定义。
blockIndent(TextFormat.blockIndent 属性)以磅为单位指示块缩进的数字。块缩进应用于整个文本块,即文本的所有行。而普通缩进 (TextFormat.indent) 只影响各段的第一行。如果此属性为 null,则 TextFormat 对象不指定块缩进。表示文本的缩进量。
比如:
var myformat:TextFormat = new TextFormat();
myformat.blockIndent = 30;
mytext.text = "欢迎光临淘沙网!";
mytext.setTextFormat(myformat);
bold(TextFormat.bold 属性)public bold : Boolean
一个布尔值,指示文本是否为粗体字。默认值为 null,它指示该属性未定义。如果值为 true,则文本为粗体字。
用法:
var my_fmt:TextFormat = new TextFormat();
my_fmt.bold = true;
my_txt.setTextFormat(my_fmt);
bullet(TextFormat.bullet 属性)public bullet : Boolean
一个布尔值,指示文本为带项目符号的列表的一部分。在带项目符号的列表中,文本的各段都是缩进的。项目符号显示在各段第一行的左侧。默认值为 null。
用法:
var my_fmt:TextFormat = new TextFormat();
my_fmt.bullet = true;
my_txt.setTextFormat(my_fmt);
color(TextFormat.color 属性)public color : Number
指示文本的颜色。包含三个 8 位 RGB 颜色成分的数字;例如,0xFF0000 为红色,0x00FF00 为绿色。
用法:
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
my_txt.setTextFormat(my_fmt);
font(TextFormat.font 属性)public font : String
使用此文本格式的文本的字体名称,以字符串形式表示。默认值为 null,它指示该属性未定义。
用法:
var my_fmt:TextFormat = new TextFormat();
myformat.font = "Courier";
my_txt.setTextFormat(my_fmt);
getTextExtent(TextFormat.getTextExtent 方法)返回格式由 my_fmt 指定的文本字符串 text 的文本度量信息。文本字符串被视为纯文本(而不是 HTML)。
此方法返回一个具有以下六个属性的对象:ascent、descent、width、height、textFieldHeight 和 textFieldWidth。所有度量值均以像素为单位。
如果指定了 width 参数,则指定的文本将自动换行。这样,您就可以确定文本框在显示所有指定的文本时,它的高度是多少。
ascent 和 descent 度量值分别提供一行文本的基线上面和下面的距离。第一行文本的基线位于该文本字段的原点加上其 ascent 度量值的位置。
width 和 height 度量值提供文本字符串的宽度和高度。textFieldHeight 和 textFieldWidth 度量值提供文本字段对象显示整个文本字符串所需要具有的高度和宽度。文本字段的周围具有 2 个像素宽的装订线,所以 textFieldHeight 的值等于 height 的值加 4;同理,textFieldWidth 的值始终等于 width 的值加 4。
如果您基于文本度量创建文本字段,请使用 textFieldHeight 而非 height,并使用 textFieldWidth 而非 width。
示例
此示例创建一个单行文本字段,其大小足够使用指定格式显示一个文本字符串。
var my_str:String = "Small string";
var my_fmt:TextFormat = new TextFormat();
with (my_fmt) {
font = "Arial";
bold = true;
}
var metrics:Object = my_fmt.getTextExtent(my_str);
this.createTextField("my_txt", this.getNextHighestDepth(), 100, 100, metrics.textFieldWidth,
metrics.textFieldHeight);
my_txt.border = true;
my_txt.wordWrap = true;
my_txt.text = my_str;
my_txt.setTextFormat(my_fmt);
italic(TextFormat.italic 属性)public italic : Boolean
一个布尔值,指示使用此文本格式的文本是否为斜体。默认值为 null,它指示该属性未定义。
用法:
var my_fmt:TextFormat = new TextFormat();
my_fmt.italic = true;
my_txt.setTextFormat(my_fmt);
leftMargin(TextFormat.leftMargin 属性)public leftMargin : Number
段落的左边距,以磅为单位。默认值为 null,它指示该属性未定义。
用法:下面的示例创建一个文本字段并将左边距设置为 40 磅。
var my_fmt:TextFormat = new TextFormat();
my_fmt.leftMargin = 20;
my_txt.setTextFormat(my_fmt);
url(TextFormat.url 属性)public url : String
指示使用此文本格式的文本链接所至的 URL。如果 url 属性为空字符串,则文本没有超链接。默认值为 null,它指示该属性未定义。
示例
此示例创建一个文本字段,该文本字段是指向淘沙网网站的超链接。
var myformat:TextFormat = new TextFormat();
myformat.url = "http://www.taoshaw.com";
this.createTextField("mytext",1,200,100,200,100);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = true;
mytext.html = true;
mytext.text = "Go to Taoshaw.com";
mytext.setTextFormat(myformat);
underline(TextFormat.underline 属性)public underline : Boolean
一个布尔值,指示使用此文本格式的文本有下划线 (true) 还是没有下划线 (false)。此下划线类似于用 <U> 标签生成的下划线,但后者不是真正的下划线,因为它不能正确地跳过下行字符。默认值为 null,它指示该属性未定义。
示例
下面的示例创建一个文本字段并将文本样式设置为带下划线。
this.createTextField("mytext",1,100,100,200,100);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = true;
var myformat:TextFormat = new TextFormat();
myformat.underline = true;
mytext.text = "欢迎光临淘沙网";
mytext.setTextFormat(myformat);
size(TextFormat.size 属性)public size : Number
使用此文本格式的文本的磅值。默认值为 null,它指示该属性未定义。
示例
下面的示例创建一个文本字段并将文本大小设置为 25 磅。
this.createTextField("mytext",1,100,100,100,100);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = true;
var myformat:TextFormat = new TextFormat();
myformat.size = 25;
mytext.text = "欢迎光临淘沙网";
mytext.setTextFormat(myformat);