在进行前台显示的过程中,也即桌面应用程序开发过程中,我个有时候会用到一些效果,比如只要一个浮动的无状态栏,标题栏,最大,最小,半闭按钮,并且窗体还可以拖动的效果,为了实现这个效果,我们就要对其进行一系列处理,
1.首先在在家***-app.xml文件中,大概54左右加入,即在<initialWindow>标签内加入如下代码:
<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. --> <systemChrome>none</systemChrome> <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. --> <transparent>true</transparent>
2.接下来在<s:WindowApplication>中加入
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="1558" height="740" showStatusBar="false" 。。。。。。。。。。。。。。。。。。。。。。。 >
3.实现置顶和拖动效果,关键代码如下所示:
this.stage.nativeWindow.startMove(); this.stage.nativeWindow.alwaysInFront=true;
4.在这里,我用了一个定时器做特效效果,主要代码如下:
public var glowTimer:Timer=new Timer(5000); protected function application1_initializeHandler(event:FlexEvent):void { // TODO Auto-generated method stub glowTimer.addEventListener(TimerEvent.TIMER,GlowTimerFunc); glowTimer.start(); } public function GlowTimerFunc(event:TimerEvent):void{ Glow1.target=welcomeLeader; Glow1.play(); }
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="1558" height="740" backgroundColor="#00244f" showStatusBar="false" backgroundAlpha="0" creationComplete="windowedapplication1_creationCompleteHandler(event);" initialize="application1_initializeHandler(event);" > <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <mx:Glow id="Glow1" alphaFrom="0" alphaTo="1" blurXFrom="1" blurXTo="100" blurYFrom="1" blurYTo="100" duration="5000" color="#00244f" inner="true" target="{welcomeLeader}"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.events.FlexEvent; import flash.display.NativeWindow; public var glowTimer:Timer=new Timer(5000); protected function application1_initializeHandler(event:FlexEvent):void { // TODO Auto-generated method stub glowTimer.addEventListener(TimerEvent.TIMER,GlowTimerFunc); glowTimer.start(); } public function GlowTimerFunc(event:TimerEvent):void{ Glow1.target=welcomeLeader; Glow1.play(); } protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void { // this.nativeWindow.startMove(); // this.stage.nativeWindow.alwaysInFront=false; /**stage.nativeWindow var window:NativeWindow = stage.nativeWindow; window.alwaysInFront = true; //alwaysInFront 如果为 true,那么就表示这个AIR窗体始终置前! **/ // window.alwaysInFront = true; // TODO Auto-generated method stub //http://hi.baidu.com/taotao5453/blog/item/29d97c8dcc768708b31bba93.html //stage.window.alwaysInFront=!stage.window.alwaysInFront; //stage.window.startMove(); } import mx.graphics.ImageSnapshot; import mx.controls.Image; import mx.core.UIComponent; public var uiComponent:Object; public var targetImage:Image; public var Ax:int = 0; public var Ay:int = 0; public function mouseDown(event:MouseEvent):void{ this.stage.nativeWindow.startMove(); this.stage.nativeWindow.alwaysInFront=true; } ]]> </fx:Script> <!-- 欢迎词可配置, 添 --> <s:Label id="welcomeLeader" x="4" y="9" width="1554" height="160" alpha="0.9" backgroundColor="#00244f" color="yellow" fontFamily="中易黑体" fontSize="45" fontWeight="bold" text=" 热烈欢迎*****************************一行莅临*********指导工作" textAlign="left" verticalAlign="middle" mouseDown="mouseDown(event)" /> </s:WindowedApplication>
(完,待续)