Minimizar aplicativo AIR com Icone na Bandeja (System Tray)

| No comment yet
Bom pessoal, vou ensinar a todos como usar a funcionalidade System Tray do Air.



Com a mesma você  pode minimizar o aplicativo e deixa - lo na bandeja para que possa ser utilizado novamente.

1:  <?xml version="1.0" encoding="utf-8"?>  
2:  <s:WindowedApplication close="windowedapplication1_closeHandler(event)"  
3:              closing="windowedapplication1_closingHandler(event)"  
4:              creationComplete="windowedapplication1_creationCompleteHandler(event)"  
5:              xmlns:fx="http://ns.adobe.com/mxml/2009"  
6:              xmlns:mx="library://ns.adobe.com/flex/mx"  
7:              xmlns:s="library://ns.adobe.com/flex/spark">  
8:    <fx:Script>  
9:      <![CDATA[  
10:        import mx.core.BitmapAsset;  
11:        import mx.events.FlexEvent;  
12:        private var dockImage:BitmapAsset;  
13:        [Bindable]  
14:        [Embed(source="./assets/icons/suport16x16.png")]  
15:        public var mySysTray:Class;  
16:        protected function windowedapplication1_closingHandler(event:Event):void {  
17:          event.preventDefault();  
18:          NativeApplication.nativeApplication.icon.bitmaps = [];  
19:          this.minimize();  
20:          this.interceptMinimize();  
21:        }  
22:        private function initSysTray():void {  
23:          dockImage = new mySysTray() as BitmapAsset;  
24:          //  Validação simples  
25:          if (NativeApplication.supportsSystemTrayIcon) {  
26:            //Listeners  
27:            SystemTrayIcon(NativeApplication.nativeApplication.icon).tooltip = "Chamados Desktop";  
28:            SystemTrayIcon(NativeApplication.nativeApplication.icon).addEventListener(MouseEvent.CLICK, undock);  
29:          }  
30:        }  
31:        private function undock(e:Event):void {  
32:    //Função que ouve quando o usuario clica no icone da barra lateral  
33:          NativeApplication.nativeApplication.icon.bitmaps = [];  
34:          this.visible = true;  
35:          this.includeInLayout = true;  
36:          this.maximize();  
37:        }  
38:        private function interceptMinimize():void {  
39:  //        Seta icone na barra lateral e deixa a aplicação invisivel  
40:          NativeApplication.nativeApplication.icon.bitmaps = [dockImage];  
41:          this.visible = false;  
42:          this.includeInLayout = false;  
43:        }  
44:        protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void {  
45:          //Chamo uma função que prepara o sistema para a funcionalidade System Tray  
46:          initSysTray();  
47:        }  
48:        protected function windowedapplication1_closeHandler(event:Event):void {  
49:          // TODO Auto-generated method stub  
50:        }  
51:      ]]>  
52:    </fx:Script>  
53:    <fx:Declarations>  
54:      <!-- Place non-visual elements (e.g., services, value objects) here -->  
55:    </fx:Declarations>  
56:  </s:WindowedApplication>  

Bem, esse é um exemplo simples de como usar o System Tray, flw galera.

Postar um comentário