转自:http://blog.csdn.net/dreamming_now/article/details/6198853?userName=goodjie_12&userInfo=ycvVL2CKA8ZQfpPQQfkJcokigFCoMhYYKCwWHJ%2BxdrVtfnWjWgEP4%2BAi6ffTsza7zG0m3DNfxitUkpIlJJUEJSHfWmeHBfY5cezm3AIZzJq6hoP8Ydue9AGZONM%2FMKpei1LKW34x%2FyEFtG5V7RQd1g%3D%3D
它现在包含Text布局框架(Text Layout Framework (TLF)),而TLF可以作为许多
Spark text组件的基础,例如RichText、RichEditableText、TextArea和 TextInput等组件,以及可以使用其中组件作为另一个
组件的部件的其它组件,例如ComboBox,ComboBox可以包含一个TextInput控件。 现在你可以对文本和文本流进行精细颗粒
的控制,并且能够利用你的UI实现若干真正令人惊奇的应用程序。 该框架非常广博。。。。
晕了,估计你到了这里看了这篇文章也是和我一样,是无尽的迷茫与无助,怎么办?还好我研究了下终于研究到了
下面就说说吧:textArea控件有个textFlow属性 就是这样咯,下面就写代了:
<s:TextArea id="txt" x="185" y="122" textFlow="{TextConverter.importToFlow(str, TextConverter.TEXT_FIELD_HTML_FORMAT)}">
</s:TextArea>
如果你写在<fx:Script>就这样写吧:
txt.textFlow=TextConverter.importToFlow(str, TextConverter.TEXT_FIELD_HTML_FORMAT)
这里的txt是textArea控件的实例名称,str就是一个关于htmlText的字符了;
好了下面就给个完整的代:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<s:TextArea id="txt" x="157" y="118" />
<s:Button id="n" x="360" y="334" label="发送"/>
<s:TextInput id="input" x="167" y="332"/>
<fx:Script>
<![CDATA[
import flashx.textLayout.conversion.TextConverter;
[Bindable]
private var str:String;
private function init():void
{
n.addEventListener(MouseEvent.CLICK,doclick);
}
private function doclick(e:MouseEvent):void
{
str="<font color='#ff0000' size='25' face='宋体'>"+input.text+"</font>"
txt.textFlow=TextConverter.importToFlow(str, TextConverter.TEXT_FIELD_HTML_FORMAT)
}
]]>
</fx:Script>
</s:Application>
附:
TEXT_FIELD_HTML_FORMAT:String - flashx.textLayout.conversion.TextConverter
-
HTML 格式。使用此常量,可用 HTML 格式从 TextFlow 导入或导出到 TextFlow。Text Layout Framework HTML 支持
target
:指定加载页面的目标窗口的名称。选项包括_self
、_blank
、_parent
和_top
。_self
选项指定当前窗口中的当前帧,_blank
指定一个新窗口,_parent
指定当前帧的父级,而_top
指定当前窗口中的顶级帧。href
:指定一个 URL。该 URL 可以是绝对路径,也可以是相对路径(相对于加载该页的 SWF 文件的位置)。http://www.adobe.com
示例表示对 URL 的绝对引用;/index.html
示例表示相对引用。绝对 URL 必须以 http:// 为前缀,否则 Flash 会将其视为相对 URL。注意:与 TextField 类不同,不支持 ActionScriptlink
事件。也不支持a:link
、a:hover
和a:active
样式。color
:只支持十六进制颜色 (#FFFFFF
) 值。face
:指定要使用的字体的名称。如下例所示,您可以指定一个以逗号分隔的字体名称的列表,在这种情况下,Flash Player 选择第一个可用字体。如果本地计算机系统上未安装指定的字体,或 SWF 文件中未嵌入指定的字体,则 Flash Player 将选择替代字体。size
:指定字体的大小。您可以使用绝对像素大小(如 16 或 18),也可以使用相对磅值(如 +2 或 -4)。letterspacing
:指定应用到每个字符右侧的间距(手动字距微调),以像素为单位。kerning
:指定字距微调处于启用状态还是禁用状态。非零值表示启用字距微调,而零表示禁用字距微调。src
:指定图像或 SWF 文件的 URL,或库中影片剪辑元件的链接标识符。此属性是必需的,所有其它属性都是可选的。外部文件(JPEG、GIF、PNG 和 SWF 文件)只有在完全下载之后才能显示。width
:所插入的图像、SWF 文件或影片剪辑的宽度(以像素为单位)。height
:所插入的图像、SWF 文件或影片剪辑的高度(以像素为单位)。- align:指定段落内文本的对齐方式;有效值为
left
、right
、justify
和center
。 - class:指定可以用于设置样式的类名称
- class:指定可以用于设置样式的类名称
indent
:指定从左边距到段落中第一个字符的缩进;对应于TextFormat.indent
。正数和负数均可以接受。blockindent
:指定应用到段落中的所有行的缩进。leftmargin
:指定段落的左边距(以磅为单位);对应于TextFormat.leftMargin
。rightmargin
:指定段落的右边距(以磅为单位);对应于TextFormat.rightMargin
。leading
:指定一行的上缘和上一行的下缘之间的行距(行高度),以像素为单位。tabstops
:指定段落中制表位位置的以逗号分隔的列表。
flash.text
包中的 TextField 类所支持的标记和属性子集。
下表列出了对于导入和导出过程支持的 HTML 标记和属性(TextField 支持但 Text Layout Framework 不支持的标记和属性被专门描述为不支持):
标签 | 说明 |
---|---|
锚标签 | <a> 标签创建超文本链接并支持以下属性:
|
粗体标签 | <b> 标签以粗体形式呈现文本。粗体必须可用于所使用的字体。 |
换行标签 | <br> 标记将在文本中创建一个换行符。 |
字体标签 | <font> 标签指定一种字体或一个字体列表来显示文本。字体标签支持以下属性:
|
图像标签 | 使用 <img> 标记,可将外部图像文件(JPEG、GIF、PNG)、SWF 文件和影片剪辑嵌入到文本中。
注意:与 TextField 类不同,不支持下列属性: |
斜体标签 | <i> 标签以斜体形式显示标签中的文本。斜体必须可用于所使用的字体。 |
列表项标签 | 注意:与 TextField 类不同,不支持 List 项标签。 |
段落标签 | <p> 标签创建一个新段落。<p> 标签支持以下属性:
|
Span 标签 | <span> 标签支持以下属性:
|
文本格式标签 | 使用
|
下划线标签 | <u> 标 |