最近做的项目是网页游戏的聊天系统和好友系统,以前喜欢用flash 和flex 3开发,但是公司统一用的是FB开发的
用FB开发就开发呗,有什么的反正是一家的,是吧?但是真的做的时候 我就头晕了,做textArea控件的htmlText属性时
发现没有这个属性,我开始还以为老化看错了,这个正常的一个属性不可能就这样没的吧,。于是在找找帮助文档,我(#‵′)靠,
还真的没有这个属性,怎么办?去网上查了下,看了很多的同志们也是遇到了与我一样的问题,也是没解决的答案的,于是我
看了一些英文的资料才知道了一个东东:
它现在包含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="btn" 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
{
btn.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>