zoukankan      html  css  js  c++  java
  • AIR 教程:生成100%透明窗口,以及打包成.air

    本教程知识点:

    Flex建立一AIR程序

    窗口透明的AIR程序

    打包成.AIR文件

    第一步:打开FLEX3  创建一个 FLEX project

     

    接着是命名,并选中 Desktop application 在AIR中运行

    自动生产XML配置文件

    创建好以后FLEX3会自动生产一些文件,再Src文件夹里会有两个XML描述语言:

    .MXML文件为前台描述文件

    .XML里面可以更改一些系统配置

    本例:去除AIR窗口,并让AIR程序边界透明。

     我们打开airia_ex_login-app.xml这个文件

    找到: <systemChrime></systemChrime> 和 <transparent></transparent>

    修改为下图蓝色区域。

    <systemChrime>none</systemChrime>  表示没有系统窗口

    <transparent>true</transparent>    表示开启背景透明

    注意:要去掉<!– –> 也就是说,本身默认文件是把这两项给注释掉了,我们现在把他启用。

    注意2:本教程省略了案例中“AIR界面UI设计”的过程,UI界面源文件在附件内里有。

    这样我们就完成了第一步。运行一下看看结果?

    我们发现FLEX有个默认的STYLE显示了出来。我们现在要想办法把他去掉

    第二步:配置MXML文件中的“mx:WindowedApplication”

    在 mx:WindowedApplication 内添加一下定制便可去掉FLEX默认的风格界面。

    showFlexChrome="false"      

     alwaysInFront="true" 

     layout="absolute" 

    这里我们再把界面大小设定好。

     

     width="314" 

     height="460"

    如图:

    再次运行看看:

    GOOD!一个完美100%透明的AIR RUN起来了。

     

    也许你还会碰到一下问题

    窗口没办法在桌面拖动?

    没办法关闭和最小化?

    请关注AIRIA.cn原创教程的下一集

     

     

    最后把此例的源文件、工程文件、安装.AIR文件全部提供给大家下载参考,忘各位网友支持AIRIA的发展。 

     

     附件:

     

     

     

    扩展参考:flex制作一个用户登录框(含验证码)

    	<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" horizontalAlign="center" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.controls.Alert; private function init():void{ generate.text=generateCheckCode(); } //login identifying private function loginHandler():void{ if(user.text==""||pass.text==""){ Alert.show("user or pass is empty","tips"); }else{ if(user.text=="shane"&&pass.text=="shane" &&identify.text.toLowerCase()==generate.text.toLowerCase()){ Alert.show("login is OK","tips"); currentState="hollow"; }else{ if(identify.text.toLowerCase()!=generate.text.toLowerCase()){ Alert.show("indentifyCode is error","tips"); generate.text=generateCheckCode(); }else{ Alert.show("user or pass error","tips"); } } } } //clear private function clearHandler():void{ user.text=pass.text=""; } //generate identifying coder private function generateCheckCode():String{ //init var num:Number; var code:String; var checkCode:String=""; for(var i:int=0;i<5;i++){ num=Math.round(Math.random()*100000); if(num%2==0){ code=String.fromCharCode(48+(num%10)); }else{ code=String.fromCharCode(65+(num%26)); } checkCode +=code; } return checkCode; } ]]> </mx:Script> <mx:Panel id="panel" x="143" y="115" width="350" height="229" layout="absolute" title="login"> <mx:Button id="btnLogin" x="73" y="141" label="login" click="loginHandler()"/> <mx:Button id="btnClear" x="167" y="141" label="clear" click="clearHandler()"/> <mx:Label x="44" y="31" text="user"/> <mx:Label x="44" y="64" text="pass"/> <mx:TextInput id="user" x="81" y="31"/> <mx:TextInput id="pass" x="81" y="62" displayAsPassword="true"/> <mx:Text x="28" y="100" text="identify"/> <mx:TextInput x="81" y="98" width="50" id="identify"/> <mx:Label x="139" y="100" width="48" id="generate"/> <mx:Label x="195" y="100" text="看不清楚 换个~~" click="generateCheckCode()"/> </mx:Panel> <mx:states> <mx:State name="hollow"> <mx:RemoveChild target="{panel}"/> <mx:AddChild position="lastChild"> <mx:Label text="hollow marshane" x="0" y="200" fontSize="200" color="red"/> </mx:AddChild> </mx:State> </mx:states> </mx:Application> 
  • 相关阅读:
    PID控制器开发笔记之五:变积分PID控制器的实现
    也说读书
    PID控制器开发笔记之四:梯形积分PID控制器的实现
    PID控制器开发笔记之三:抗积分饱和PID控制器的实现
    PID控制器开发笔记之二:积分分离PID控制器的实现
    PID控制器开发笔记之一:PID算法原理及基本实现
    Linux学习笔记之时间同步the NTP socket is in use, exiting问题
    Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境
    K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
    K8S学习笔记之ETCD启动失败注意事项
  • 原文地址:https://www.cnblogs.com/AS30/p/2216372.html
Copyright © 2011-2022 走看看