转自: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 支持?
flash.text
?包中的 TextField 类所支持的标记和属性子集。
下表列出了对于导入和导出过程支持的 HTML 标记和属性(TextField 支持但 Text Layout Framework 不支持的标记和属性被专门描述为不支持):
标签 |
说明 |
锚标签 |
<a> ?标签创建超文本链接并支持以下属性:
-
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 类不同,不支持 ActionScript?link ?事件。也不支持?a:link 、a:hover ?和?a:active ?样式。
|
粗体标签 |
<b> ?标签以粗体形式呈现文本。粗体必须可用于所使用的字体。 |
换行标签 |
<br> ?标记将在文本中创建一个换行符。 |
字体标签 |
<font> ?标签指定一种字体或一个字体列表来显示文本。字体标签支持以下属性:
-
color :只支持十六进制颜色 (#FFFFFF ) 值。
-
face :指定要使用的字体的名称。如下例所示,您可以指定一个以逗号分隔的字体名称的列表,在这种情况下,Flash Player 选择第一个可用字体。如果本地计算机系统上未安装指定的字体,或 SWF 文件中未嵌入指定的字体,则 Flash Player 将选择替代字体。
-
size :指定字体的大小。您可以使用绝对像素大小(如 16 或 18),也可以使用相对磅值(如 +2 或 -4)。
-
letterspacing :指定应用到每个字符右侧的间距(手动字距微调),以像素为单位。
-
kerning :指定字距微调处于启用状态还是禁用状态。非零值表示启用字距微调,而零表示禁用字距微调。
|
图像标签 |
使用?<img> ?标记,可将外部图像文件(JPEG、GIF、PNG)、SWF 文件和影片剪辑嵌入到文本中。 <img> ?标签支持以下属性:
-
src :指定图像或 SWF 文件的 URL,或库中影片剪辑元件的链接标识符。此属性是必需的,所有其它属性都是可选的。外部文件(JPEG、GIF、PNG 和 SWF 文件)只有在完全下载之后才能显示。
-
width :所插入的图像、SWF 文件或影片剪辑的宽度(以像素为单位)。
-
height :所插入的图像、SWF 文件或影片剪辑的高度(以像素为单位)。
注意:与 TextField 类不同,不支持下列属性:align 、hspace 、vspace 、id ?和?checkPolicyFile 。 |
斜体标签 |
<i> ?标签以斜体形式显示标签中的文本。斜体必须可用于所使用的字体。 |
列表项标签 |
注意:与 TextField 类不同,不支持 List 项标签。 |
段落标签 |
<p> ?标签创建一个新段落。<p> ?标签支持以下属性:
- align:指定段落内文本的对齐方式;有效值为?
left 、right 、justify ?和?center 。
- class:指定可以用于设置样式的类名称
|
Span 标签 |
<span> ?标签支持以下属性:
|
文本格式标签 |
使用?<textformat> ?标签可在文本字段中使用 TextFormat 类的段落格式设置属性的子集,其中包括行距、缩进、边距和 Tab 停靠位。您可以将?<textformat> ?标签与内置 HTML 标签结合使用。 <textformat> ?标签具有以下属性:
-
indent :指定从左边距到段落中第一个字符的缩进;对应于?TextFormat.indent 。正数和负数均可以接受。
-
blockindent :指定应用到段落中的所有行的缩进。
-
leftmargin :指定段落的左边距(以磅为单位);对应于?TextFormat.leftMargin 。
-
rightmargin :指定段落的右边距(以磅为单位);对应于?TextFormat.rightMargin 。
-
leading :指定一行的上缘和上一行的下缘之间的行距(行高度),以像素为单位。
-
tabstops :指定段落中制表位位置的以逗号分隔的列表。
|
下划线标签 |
<u> ?标 |