采用 spark textArea linkElement spanElement 实现聊天窗口的功能

实现聊天窗口的功能,可以设置字体,字号 获得点击的玩家昵称,全部代码如下,俺不知道如何上传附件:)

 

<?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">
 <s:layout>
  <s:BasicLayout/>
 </s:layout>
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 </fx:Declarations>
 <fx:Script>
  <![CDATA[
   import flashx.textLayout.elements.ParagraphElement;
   import flashx.textLayout.events.FlowElementMouseEvent;
   private var idplayer:int = 0;
   protected function button1_clickHandler(event:MouseEvent):void
   {
    // TODO Auto-generated method stub
    
    var linkPar:ParagraphElement = new ParagraphElement();
    var linkEl:LinkElement = new LinkElement();
    var span1:SpanElement = new SpanElement();
    span1.text = "Adobe " + idplayer++;
    span1.color = "0xFF0000";
    span1.fontSize = 24;
    linkEl.addChild(span1);
    linkPar.addChild(linkEl);
    
    var span2:SpanElement = new SpanElement();
    span2.text ="text text text";
    span2.color = "0xFF00FF";
    span2.fontSize = 20;
    
    linkPar.addChild(span2);   
    textArea.textFlow.addChild(linkPar);
    linkEl.addEventListener(FlowElementMouseEvent.CLICK,linkClickHandler);
    textArea.textFlow.flowComposer.updateAllControllers();

    //  使拖动条拖到最底

    textArea.validateNow();
   textArea.scroller.verticalScrollBar.value = 
   textArea.scroller.verticalScrollBar.maxHeight;
   }
   private function linkClickHandler(event:FlowElementMouseEvent):void
   {
    trace(event.flowElement.getText());
    lab.text = "人物昵称:" + event.flowElement.getText();
   }
  ]]>
 </fx:Script>
 <s:Button click="button1_clickHandler(event)" x="200" label="发送" />
 <!--关键点:需要设置textArea.editable = false; 如果没有 <s:a></s:a> 点击获取玩家昵称也不行!!!-->
 <s:TextArea x="400" editable="false" id="textArea" >
  <s:content>
   this is <s:span color="0xFF0000">
      html text
     </s:span>
   <s:a click="linkClickHandler(event)" >
    <s:span color="0x00FF00">
     link text
    </s:span>
   </s:a>
  </s:content>
 </s:TextArea>
 <s:Label id="lab" x="200" y="100" />
</s:Application>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值