包 | flash.text |
类 | public class TextFormat |
继承 | TextFormat Object |
子类 | UITextFormat |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
必须先使用构造函数 new TextFormat()
创建 TextFormat 对象,才能设置该构造函数的属性。在使用 TextField.defaultTextFormat
属性或 TextField.setTextFormat()
方法对文本字段应用 TextFormat 对象时,将只应用该对象的已定义的属性。在向 TextField
添加文本前,请使用 TextField.defaultTextFormat
属性应用格式,在向 the TextField
添加文本后,请使用 setTextFormat()
方法添加格式。默认情况下,TextFormat 属性为 null
,因为如果没有提供属性值,Flash Player 将使用自己的默认格式设置。Flash Player 用于各个属性的默认格式(如果属性的值为 null
)如下所示:
align = "left" |
blockIndent = 0 |
bold = false |
bullet = false |
color = 0x000000 |
font = "Times New Roman"(在 Mac OS X 上,默认字体为 Times) |
indent = 0 |
italic = false |
kerning = false |
leading = 0 |
leftMargin = 0 |
letterSpacing = 0 |
rightMargin = 0 |
size = 12 |
tabStops = [] (empty array) |
target = ""(empty string) |
underline = false |
url = ""(empty string) |
各个属性的默认格式设置在各自的说明中也有所描述。
相关 API 元素
flash.text.TextField.defaultTextFormat
flash.text.TextField.getTextFormat()
属性 | 由以下参数定义 | ||
---|---|---|---|
align : String
表示段落的对齐方式。 | TextFormat | ||
blockIndent : Object
表示块缩进,以像素为单位。 | TextFormat | ||
bold : Object
指定文本是否为粗体字。 | TextFormat | ||
bullet : Object
表示文本为带项目符号的列表的一部分。 | TextFormat | ||
color : Object
表示文本的颜色。 | TextFormat | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
font : String
使用此文本格式的文本的字体名称,以字符串形式表示。 | TextFormat | ||
indent : Object
表示从左边距到段落中第一个字符的缩进。 | TextFormat | ||
italic : Object
表示使用此文本格式的文本是否为斜体。 | TextFormat | ||
kerning : Object
一个布尔值,表示是启用 (true) 还是禁用 (false) 字距调整。 | TextFormat | ||
leading : Object
一个整数,表示行与行之间的垂直间距(称为前导)量。 | TextFormat | ||
leftMargin : Object
段落的左边距,以像素为单位。 | TextFormat | ||
letterSpacing : Object
一个数字,表示在所有字符之间均匀分配的空间量。 | TextFormat | ||
rightMargin : Object
段落的右边距,以像素为单位。 | TextFormat | ||
size : Object
使用此文本格式的文本的大小(以像素为单位)。 | TextFormat | ||
tabStops : Array
将自定义 Tab 停靠位指定为一个非负整数的数组。 | TextFormat | ||
target : String
表示显示超链接的目标窗口。 | TextFormat | ||
underline : Object
表示使用此文本格式的文本是带下划线 (true) 还是不带下划线 (false)。 | TextFormat | ||
url : String
表示使用此文本格式的文本的目标 URL。 | TextFormat |
方法 | 由以下参数定义 | ||
---|---|---|---|
TextFormat(font:String = null, size:Object = null, color:Object = null, bold:Object = null, italic:Object = null, underline:Object = null, url:String = null, target:String = null, align:String = null, leftMargin:Object = null, rightMargin:Object = null, indent:Object = null, leading:Object = null)
创建一个具有指定属性的 TextFormat 对象。 | TextFormat | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
align | 属性 |
align:String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示段落的对齐方式。有效值为 TextFormatAlign 常数。
默认值为 TextFormatAlign.LEFT。
实现
public function get align():String
public function set align(value:String):void
引发
ArgumentError — 指定的 align 不是 flash.text.TextFormatAlign 的成员。
|
相关 API 元素
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
blockIndent | 属性 |
blockIndent:Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示块缩进,以像素为单位。块缩进应用于整个文本块,即文本的所有行。而普通缩进 (TextFormat.indent
) 只影响各段的第一行。如果此属性为 null
,则 TextFormat 对象不指定块缩进(块缩进为 0)。
实现
public function get blockIndent():Object
public function set blockIndent(value:Object):void
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
bold | 属性 |
bullet | 属性 |
color | 属性 |
color:Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示文本的颜色。包含三个 8 位 RGB 颜色成分的数字;例如,0xFF0000 为红色,0x00FF00 为绿色。默认值为 null
,这意味着 Flash Player 使用黑色 (0x000000)。
实现
public function get color():Object
public function set color(value:Object):void
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
font | 属性 |
indent | 属性 |
italic | 属性 |
kerning | 属性 |
kerning:Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9. |
一个布尔值,表示是启用 (true
) 还是禁用 (false
) 字距调整。通过字距调整可为了提高可读性而调整某些字符对之间的像素,并且只在需要时(如使用大字体标题时)使用字距调整。仅嵌入字体支持字距调整。
某些字体(如宋体)和等宽字体(如 Courier New)不支持字距调整。
默认值为 null
,这意味着没有启用字距调整。
实现
public function get kerning():Object
public function set kerning(value:Object):void
leading | 属性 |
leftMargin | 属性 |
letterSpacing | 属性 |
letterSpacing:Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9. |
一个数字,表示在所有字符之间均匀分配的空间量。该值指定在每个字符之后添加到进距的像素数。默认值为 null
,这意味着使用的字母间距为 0 个像素。可以使用十进制值,如 1.75
。
实现
public function get letterSpacing():Object
public function set letterSpacing(value:Object):void
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
rightMargin | 属性 |
size | 属性 |
tabStops | 属性 |
tabStops:Array
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
将自定义 Tab 停靠位指定为一个非负整数的数组。指定每个 Tab 停靠位,以像素为单位。如果没有指定自定义 Tab 停靠位 (null
),则默认的 Tab 停靠位为 4(平均字符宽度)。
实现
public function get tabStops():Array
public function set tabStops(value:Array):void
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
target | 属性 |
target:String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示显示超链接的目标窗口。如果目标窗口为空字符串,则文本显示在默认目标窗口 _self
中。可以选择自定义名称或以下四种名称中的一个:_self
指定当前窗口中的当前帧,_blank
指定一个新窗口,_parent
指定当前帧的父级,_top
指定当前窗口中的顶级帧。如果 TextFormat.url
属性是空字符串或 null
,则虽然您可以获取或设置此属性,但该属性不起作用。
实现
public function get target():String
public function set target(value:String):void
相关 API 元素
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
underline | 属性 |
underline:Object
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示使用此文本格式的文本是带下划线 (true
) 还是不带下划线 (false
)。此下划线类似于用 <U>
标签生成的下划线,但后者不是真正的下划线,因为它不能正确地跳过下行字符。默认值为 null
,它表示不使用下划线。
实现
public function get underline():Object
public function set underline(value:Object):void
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
url | 属性 |
url:String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
表示使用此文本格式的文本的目标 URL。如果 url
属性为空字符串,则文本没有超链接。默认值为 null
,它表示文本没有超链接。
注意:必须使用 htmlText
属性对具有指定文本格式的文本进行设置以使超链接起作用。
实现
public function get url():String
public function set url(value:String):void
相关 API 元素
示例
如何使用本示例
有关如何使用此属性的说明,请参阅 TextFormat() 构造函数示例。
TextFormat | () | 构造函数 |
public function TextFormat(font:String = null, size:Object = null, color:Object = null, bold:Object = null, italic:Object = null, underline:Object = null, url:String = null, target:String = null, align:String = null, leftMargin:Object = null, rightMargin:Object = null, indent:Object = null, leading:Object = null)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9., Flash Lite 4 |
创建一个具有指定属性的 TextFormat 对象。然后可更改 TextFormat 对象的属性以更改文本字段的格式设置。
任何参数都可设置为 null
以表示该参数未定义。所有参数都是可选的;任何省略的参数都被视为 null
。
font:String (default = null ) — 以字符串形式表示的文本字体名称。
| |
size:Object (default = null ) — 一个表示大小(以像素为单位)的整数。
| |
color:Object (default = null ) — 使用此文本格式的文本的颜色。包含三个 8 位 RGB 颜色成分的数字;例如,0xFF0000 为红色,0x00FF00 为绿色。
| |
bold:Object (default = null ) — 一个布尔值,表示文本是否为粗体字。
| |
italic:Object (default = null ) — 一个布尔值,表示文本是否为斜体。
| |
underline:Object (default = null ) — 一个布尔值,表示文本是否带有下划线。
| |
url:String (default = null ) — 使用此文本格式的文本超链接到的 URL。如果 url 为空字符串,则表示文本没有超链接。
| |
target:String (default = null ) — 显示超链接的目标窗口。如果目标窗口为空字符串,则文本显示在默认目标窗口 _self 中。如果 url 参数设置为空字符串或值 null ,虽然您可以获取或设置此属性,但该属性不起作用。
| |
align:String (default = null ) — 段落的对齐方式,作为 TextFormatAlign 值。
| |
leftMargin:Object (default = null ) — 表示段落的左边距,以像素为单位。
| |
rightMargin:Object (default = null ) — 表示段落的右边距,以像素为单位。
| |
indent:Object (default = null ) — 一个整数,表示从左边距到段落中第一个字符的缩进。
| |
leading:Object (default = null ) — 一个数字,表示行与行之间的前导垂直间距量。
|
示例 ( 如何使用本示例 )
formatTextField
文本字段将在单独的行中列出所有 TextField 类属性选项(kerning
除外)。当用户单击 formatTextField
文本字段中的某一行时,将触发 formatTextFieldClickHandler()
方法。
formatTextFieldClickHandler()
方法调用 TextField.getLineIndexAtPoint()
方法以获取所单击的行的索引,然后调用 TextField.getLineText()
方法以获取行内容。switch 语句将检查该行内容,并相应地设置 newformat
TextFormat 对象的属性。然后,setTextFormat()
方法将 contentTextField
文本字段的文本格式设置为新格式。通过单击不同的 formatTextField
行,用户可以将一个不同的格式应用于 contentTextField
文本字段。(Tab 设置是一个数组,它为行中的每个 Tab 定义了单独的 Tab 停靠位。) 如果选择了 url
或 target
行,用户必须单击 contentTextField
文本字段才能激活链接并显示目标 URL(Flex 主页)的内容。target
属性的默认值为“_self”,这意味着,如果用户选择了 url
行,则会在当前窗口中显示该内容。要使 target
属性起作用,必须已经在 url
属性中设置了 URL。
如果用户单击 contentTextField
文本字段,将触发 contentTextFieldClickHandler()
方法,它将该字段的格式以及 newFormat
TextFormat 对象设置为文本字段的默认(原始)格式。这将清除用户所做的所有格式更改。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.text.TextFormatAlign; public class TextFormat_constructorExample extends Sprite { private var contentTextField:TextField = new TextField(); private var formatTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextFormat_constructorExample() { contentTextField.x = 10; contentTextField.y = 10; contentTextField.background = true; contentTextField.border = true; contentTextField.multiline = true; contentTextField.wordWrap = true; contentTextField.selectable = false; contentTextField.width = 250; contentTextField.height = 120; contentTextField.htmlText = "<p>The TextFormat class represents character formatting " + "information. Use the TextFormat class to create specific text formatting " + "for text fields." + " </p><br>" + "\tTab One" + "\tTab Two<br>"; formatTextField.x = 10; formatTextField.y = 140; formatTextField.background = true; formatTextField.border = true; formatTextField.autoSize = TextFieldAutoSize.LEFT; formatTextField.text = "align: right\n" + "blockIndent: 10 pixels\n" + "bold:\n" + "bullet:\n" + "color: red\n" + "font: Arial\n" + "indent: 20 pixels\n" + "italic:\n" + "leading: 5 spaces\n" + "leftMargin: 20 pixels\n" + "letterSpacing: 4 pixels\n" + "rightMargin: 20 pixels\n" + "size: 16 point\n" + "target: new window\n" + "tabStops: 50 and 150 pixel\n" + "underline:\n" + "url: Adobe Flex page\n"; formatTextField.addEventListener(MouseEvent.CLICK, formatTextFieldClickHandler); contentTextField.addEventListener(MouseEvent.CLICK, contentTextFieldClickHandler); this.addChild(contentTextField); this.addChild(formatTextField); } private function formatTextFieldClickHandler(e:MouseEvent):void { var value:String= ""; var i:uint = 0; var index:int = formatTextField.getLineIndexAtPoint(e.localX, e.localY); var line:String = formatTextField.getLineText(index);; line = line.substr(0, (line.indexOf(":"))); switch(line) { case "align": newFormat.align = TextFormatAlign.RIGHT; break; case "blockIndent": newFormat.blockIndent = 10; break; case "bold": newFormat.bold = true; break; case "bullet": newFormat.bullet = true; break; case "color": newFormat.color = 0xFF0000; break; case "font": newFormat.font = "Arial"; break; case "indent": newFormat.indent = 20; break; case "italic": newFormat.italic = true; break; case "leading": newFormat.leading = 5; break; case "leftMargin": newFormat.leftMargin = 20; break; case "letterSpacing": newFormat.letterSpacing = 4; break; case "rightMargin": newFormat.rightMargin = 20; break; case "size": newFormat.size = 16; break; case "tabStops": newFormat.tabStops = [50, 150]; break; case "target": newFormat.url = "http://www.adobe.com/products/flex/"; newFormat.target = "_blank"; break; case "underline": newFormat.underline = true; break; case "url": newFormat.url = "http://www.adobe.com/products/flex/"; break; } contentTextField.setTextFormat(newFormat); } private function contentTextFieldClickHandler(e:MouseEvent):void { contentTextField.setTextFormat(contentTextField.defaultTextFormat); newFormat = contentTextField.defaultTextFormat; } } }
- 创建了 TextField 类型的
label
属性。 - 类构造函数调用函数
configureLabel()
configureLabel()
函数首先创建一个新的 TextField 对象并将其赋给label
然后将其参数设置为- 左对齐文本字段
- 启用背景填充
- 启用边框。
- 接下来,
configureLabel()
将创建本地变量format
,并将其赋给新 TextFormat 实例,将其参数设置为:- 字体类型 = 宋体
- 字体颜色 = 纯红色
- 字体大小 = 10
- 字体下划线 = true。
- 标签的
defaultTextFormat
属性设置为format
,而label
实例将添加到显示列表中,此显示列表最初在舞台上显示不包含文本的文本字段(例如具有白色背景的小框)。 - 最后(返回构造函数),通过调用以下
setLabel()
,标签的文本会设置为在坐标 x = 0,y = 0 处显示“Hello World and welcome to the show”。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class TextFormatExample extends Sprite { private var label:TextField; public function TextFormatExample() { configureLabel(); setLabel("Hello World and welcome to the show"); } public function setLabel(str:String):void { label.text = str; } private function configureLabel():void { label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; label.background = true; label.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; format.underline = true; label.defaultTextFormat = format; addChild(label); } } }
Tue Jun 12 2018, 11:04 AM Z