首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

air 设立

2012-10-08 
air 设置1. 屏蔽系统窗口, flash窗口,窗口底部状态栏。使用自定义窗口。当一个AIR项目创建成功后,你会发现相

air 设置
1. 屏蔽系统窗口, flash窗口,窗口底部状态栏。使用自定义窗口。
当一个AIR项目创建成功后,你会发现相对与 web项目,你的工程目录下多了一个名为 XXX-app.xml的文件,这是我们项目的配制文件,实现自定义窗口就是靠它。打开它,修改如下代码:

<!– The type of system chrome to use (either “standard” or “none”). Optional. Default standard. –>
<!–<systemChrome></systemChrome> –>

去掉对systemChrome的注释,改为

<!– The type of system chrome to use (either “standard” or “none”). Optional. Default standard. –>
<systemChrome>none</systemChrome>

这样我们就去掉了系统窗口,转而使用了flash的自带窗口,下面我们把flash窗口也去掉。在你的主mxml文件中设置WindowedApplication 的这些属性

<mx:WindowedApplication showTitleBar=”false” borderThickness=”0″ showStatusBar=”false” showGripper=”false” ….. />

这样就完全去掉了所有的窗口,程序运行后只显现应用程序的内容。大家可以参考帮助手册来了解以上属性的意思。说到这里就引出了下一个问题,屏蔽了所有窗口以后如何对窗口进行基本的,放大,缩放,关闭操作呢。我们看下面。

2. 对自定义窗口的缩放,移动,关闭。
AIR比flex web应用多了一个类叫NativeWindow,我们就是靠这个类对窗口就行操作。在demo中,我用了以下几个方法来移定窗口,他们都在鼠标MouseDown event中被触发。

this.nativeWindow.startResize(“L”);
this.nativeWindow.startResize(“R”);
this.nativeWindow.startResize(“T”);
this.nativeWindow.startResize(“B”);
this.nativeWindow.startResize(“TL”);
this.nativeWindow.startResize(“RB”);

很容易可以看出,L R B T代表 Left, Right, Bottom 和 Top, 所以在调用startResize时设置适当的参数我们就可以轻易的实现对窗口各个方向的缩放。对于窗口的移定,在mouseDown event中使用

this.nativeWindow.startMove();

而对窗口的关闭,则很简单的在按钮click事件调用this.close()。

好了,以上就是对自定义窗口的操作。下面的东西我是用来完善我的demo,使它cool一点。相信大家在自己的应用程序中也会需要类似的东西,一个应用程序除了功能,细节上的处理也是很重要的。

3. 移动窗口时实现半透明效果,移动结束时还原。
要实现这个效果我们需要重新打开我们的XXX-app.xml文件,设置以下内容。

<!– Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. –>
<transparent>true</transparent>

这个可以允许我们让应用程序的背景透明,这个很有用,背景透明的应用程序,利用背景透明,我们可以开发出很独特的应用程序。接下来要做的就简单了。

在上面移动窗口的mouseDown事件中加入 this.alpha = 0.x; 下面是demo中的代码。我将透明度设为0.6,this. alpha只针对应用程序的背景设置透明,如果你想让更多的东西透明,只需要对相应的控件设置alpha既可。

private function moveMe():void{
this.nativeWindow.startMove();
this.alpha = 0.6;
}

让透明还原我在mouseUp事件中设置alpha =1;

private function mouseUpHandle():void{
this.alpha = 1;
}

这样简单的设置也许就会使你的应用程序看起来不一样,怎么不试试呢:)

4. 关闭窗口动画。
我使用了下面的Iris效果对在窗口关闭时使用。有什么效果呢,大家关闭一下就知道了。 flex中内置了很多效果给我们使用,很多时候我们只需要适当的组合,就能得到意想不到的效果,比如 Move与 WipeDown一起可以实现Mac系统,菜单向下滑出的效果。诸如此类,只要有想像力,我们可以用很简单的代码,实现很有用的功能。 在demo 中,如下设置得到关闭动画

<mx:WindowedApplication closeEffect=”irisIn” ….. />

<mx:Iris id=”irisIn” duration=”500″ showTarget=”false” />

5. 窗口背景填充。
这个功能其实在开发程序的时候用的不多,我是不想让demo看起来太单调所以加了背景,我们知道flex是不能像Html那样轻易的让背景重复显示的,所以我们的用一些特殊方法处理以下,demo中的 setBackground方法用于设置整个背景。这里面涉及到的 Bitmap, BitmapData, Graphics类的具体作用,大家感兴趣的话可以看帮助手册,我的观点是当里用到的时候查帮助也不迟,只要知道有这么些个类可以为你干什么活就好。

private function setBackground():void{

var backgroundImage :Bitmap;
var backgroundBitmapData :BitmapData;

backgroundImage = new bg();
backgroundBitmapData = new BitmapData( backgroundImage.width, backgroundImage.height );
backgroundBitmapData.draw( backgroundImage );

workarea.graphics.beginBitmapFill( backgroundBitmapData, null,true );
workarea.graphics.drawRect(0,0, 2000, 2000);
workarea.graphics.endFill();
}

热点排行