Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina



Luiz Henrique de Angeli

luizdeangeli@gmail.com


Alerta de Mensagem

quinta-feira, 22 de outubro de 2009

Publiquei a alguns dias um exemplo do Fabiel Prestes de Alerta de Mensagem similar ao MSN. Fiz um exemplo bem parecido com o exemplo mostrado.




JanelaMensagem.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
    width="200"
    height="150"
    styleName="opaquePanel"
    layout="vertical"
    creationCompleteEffect="{EfeitoJanelaCima}"   
    removedEffect="{EfeitoJanelaBaixo}"
    creationComplete="init()"    
    showCloseButton="true"
    close="{fechaJanela()}"
    verticalScrollPolicy="auto" horizontalScrollPolicy="off"
    moveEffect="Move">

 <mx:Move xTo="{Application.application.width - this.width}"
    xFrom="{Application.application.width- this.width}"
    yTo="{Application.application.height - (this.height*ordem)}"
    yFrom="{Application.application.height}"
    id="EfeitoJanelaCima"
    duration="500"/>

 <mx:Move xTo="{Application.application.width - this.width}"
    xFrom="{Application.application.width- this.width}"
    yTo="{Application.application.height}"
    yFrom="{Application.application.height- (this.height*ordem)}"
    id="EfeitoJanelaBaixo"
    duration="500"/>

 <mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.events.CloseEvent;
   import com.adobe.ac.mxeffects.Pop;
   import mx.managers.PopUpManager;
   import mx.controls.Alert;
   import flash.utils.setTimeout;
   import mx.core.Application;

   [Bindable] public var ordem   : int =  1;
   [Bindable] public var tempo   : int =  0;
   [Bindable] private var idTimeOut : uint;
   [Bindable] public var arrLista  : ArrayCollection;


   private function init():void
   {
    if(tempo > 0)
     idTimeOut = setTimeout(fechaTempo,tempo*1000);

    this.addEventListener(Event.CLOSE,function (e:Event):void
     { 
      for(var i:int=arrLista.getItemIndex(e.currentTarget)+1; i< arrLista.length ; i++)     
       JanelaMensagem(arrLista.getItemAt(i)).moveBaixo();     

      arrLista.removeItemAt(arrLista.getItemIndex(e.currentTarget));     
     });  

    this.ordem = arrLista.length+1;

    arrLista.addItem(this);

   }

   public function moveBaixo():void
   {
    this.move(this.x,(this.y+this.height));
    ordem--;    
   } 

   private function fechaTempo():void
   {
    dispatchEvent(new Event(CloseEvent.CLOSE));
    fechaJanela();
   }

   private function fechaJanela():void
   {     
    PopUpManager.removePopUp(this);
    clearTimeout(idTimeOut);    
   }

  ]]>
 </mx:Script>
</mx:TitleWindow>


Usando.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"
    verticalScrollPolicy="off" horizontalScrollPolicy="off">

 <mx:Button x="227" y="174" label="Abrir Janela" click="abrir()" height="100" width="226" fontSize="14"/>

 <mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.controls.Text;
   import mx.controls.Label;
   import mx.controls.Alert;
   import mx.events.StateChangeEvent;
   import mx.events.FlexEvent;
   import mx.events.CloseEvent;
   import mx.managers.PopUpManager;   

   [Bindable] private var arrListaJanela : ArrayCollection = new ArrayCollection();

   public function abrir():void
   { 
    var janela1 : JanelaMensagem = new JanelaMensagem();
    var texto : Text = new Text();    

    janela1.title='luizdeangeli.blogspot.com'
    janela1.tempo  = 10;
    janela1.arrLista = arrListaJanela;    

    texto.width=175;
    texto.setStyle("color","red");
    texto.text='Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz.';

    janela1.addChild(texto);    

    PopUpManager.addPopUp(janela1,this,false);
   }
  ]]>
 </mx:Script>
</mx:Application>

0 comentários:


Submarino.com.br
Submarino.com.br