`

Flex AIR)创建“不规则形状”的Air透明窗体(二)--使用Flex SDK4.5.1

    博客分类:
  • flex
 
阅读更多

在此之前,我曾写过一篇关于《创建不规则形状Air透明窗体》的教程,但当时使用的是Flex3SDK使用的版本是SDK3.2AIR 2.0)版本。前文请参考http://hi.baidu.com/taotao5453/blog/item/4d9fd988275e7f98a5c2722d.html

如果你不明白什么是不规则形状Air透明窗体,请先跳到本文底部看预览图。

 

问题:

随着AdobeFlex的更新,进入到Flex4以后,cssbackgroundColor不能设置为空了,并且机制更建议使用skin皮肤来设置组件样式,而且Application中的一些属性也变更了showTitleBar等属性已不存在或变更了用法。也有几位童鞋按照Flex3类似做法来做未成功而向提出过疑问。

 

解决方案:

现在使用Flash Builder4.5SDK4.5.1),并使用新的spark组件库,还使用新的skin皮肤外观机制来为你的WindowedApplication设置皮肤,通过皮肤中的设置去除边框等。这里会把步骤写详细一些,因为可能有读者对Flex4api并不很熟悉,即便你会Flex3

 

具体步骤:

转载请附源:http://hi.baidu.com/taotao5453,感谢

一、准备阶段

(注:如果你对Flex4创建带背景的Air项目很熟悉,可以直接无视准备阶段,跳到第二阶段操作步骤)

1、首先使用Flash Builder4.5创建一个AIR项目,

SDK版本选择4.5.1(如果没有此版本,选择SDK 4.5也是可以的),如图:

 



 

点击“完成”我们就创建好了我们的初始项目,项目文件目录如下:



 

 

2、创建一个外观类,

新建一个skin“包”,然后右键这个skin包,选择“新建”-MXML外观”,弹出如下界面,按照图中填写名称(ApplicationSkin)、主机组件(spark.components.Window)即可,最下面一栏当你填写主机组件时会自动填充,保持和图中一致即可,其中“名称”一栏可以自定义填写,只要和稍后我们用的一直就可以了:



 

 

 

Flash Builder会在类中为我们创建默认的代码,请自行查看。

 

3、为我们的项目创建css文件

新建一个css“包”,右键这个css包选择“新建”-css文件,文件名填写“style”,也可任意命名. 

现在我们的项目目录看起来是这样:



 

 

 

 

其中,红框内为我们第23步骤新创建的css和外观组件文件。

 

4、设置项目css类,并编写style.css中的内容,

在我们的主文件TestAIR_Launcher2.mxml中添加一行代码,

<fx:Stylesource="css/style.css"/>

表示我们将css/style.css文件作为我们项目的css样式配置文件,如图:



 

 

 

接下来我们要编写css文件中的内容,在这里我们要把我们之前创建的皮肤设置给我们的主文件,打开style.css,编写如下代码:

s|WindowedApplication{

       skinClass:ClassReference("skin.ApplicationSkin");

}

如图,红框中为新加入代码,表示将skin.ApplicationSkin文件作为我们主文件的皮肤,因为项目主文件是WindowedApplication类型标签,所以这里我们用s|WindowedApplication就表示主文件:

 



 

 

这样,通过第4步骤我们就把主文件和皮肤文件关联起来了。

 

5、加入不规则形状的背景图

因为我们要做的是一个无边框不规则的AIR窗体,所以一张不规则的png图片是必须的,这里我从网络上随便下载一张图片,具体你可以根据需要自己选择图片。

1)在项目中创建一个res文件夹,将我们的图片放在这个目录下。

2)打开ApplicationSkin.mxml这个外观类,在layer1layer2标签之间添加一行代码:

<s:BitmapImagesource="@Embed('res/bg.png')" width="100%"height="100%/>

如图:

 



 

到这里,我们的“准备阶段”完成了。

准备阶段我们主要做了创建我们需要的文件,通过css绑定主文件和skin皮肤,并在皮肤中加入一张背景png图片。

完整项目结构如下图:



 

 

 

调试/运行一下,看下效果:


蜗牛很可爱吧@@@@@@@@@@@@@

 

 

 

转载请附源:http://hi.baidu.com/taotao5453,感谢

二、操作阶段

这里我们有三个地方需要修改,分别是:

1ApplicationSkin皮肤类

2TestAIR_Launcher2-app.xml项目配置文件

3TestAIR_Launcher.mxml类,我们的主文件

 

1、  修改ApplicationSkin皮肤类

注释掉layer1的代码,因为layer1为我们主界面绘制了一个默认背景

 


同时注释掉和backgroundFill属性对应的两行代码,如图:



 

 

2、  修改TestAIR_Launcher2-app.xml项目配置文件,这个修改和

 

 

Flex3做法相同

比较传统的,网上很多资料都只是让我们设置这里,我们需要更改这里面的两项:
<!--<systemChrome></systemChrome>-->
<!--<transparent></transparent>-->

改为:
<systemChrome>none</systemChrome>
<transparent>
true</transparent>

这么做是为了不显示带有标题和菜单的上边框,以及窗体周围的边框。

 

3、修改TestAIR_Launcher.mxml类,我们的主文件

为主类设置属性showStatusBar="false",如下图,这样做是为了去除界面中底部一条灰色的状态条,在第一步骤最后的效果图中可以看到:

 



 

 

@@到这里,教程结束了,现在调试/运行一下看看最终效果:

 



 

 

 

是不是很神奇呢?!只显示一个大蜗牛了,边框什么的都不见了,而且在图片颜色不覆盖的不规则区域,鼠标都是可以透过的。

当然这个界面还不能拖动,这需要添加其他代码来完成,如果你会asmxml语言,那么很容易了,也不是本文要讨论的范围!

分享到:
评论

相关推荐

    opencv-4.5.1-android-sdk

    opencv官网下载速度慢,需要的同学可以下载来用用

    jna-4.5.1 , jna-4.5.1-sources , jna-platform-4.5.1 jar包

    jna-4.5.1 , jna-4.5.1-sources , jna-platform-4.5.1 jar包 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态...

    opencv-4.5.1-1.5.5-API文档-中英对照版.zip

    赠送jar包:opencv-4.5.1-1.5.5.jar; 赠送原API文档:opencv-4.5.1-1.5.5-javadoc.jar; 赠送源代码:opencv-4.5.1-1.5.5-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.1-1.5.5.pom; 包含翻译后的API文档:...

    opencv-4.5.1-1.5.5-API文档-中文版.zip

    赠送jar包:opencv-4.5.1-1.5.5.jar; 赠送原API文档:opencv-4.5.1-1.5.5-javadoc.jar; 赠送源代码:opencv-4.5.1-1.5.5-sources.jar; 赠送Maven依赖信息文件:opencv-4.5.1-1.5.5.pom; 包含翻译后的API文档:...

    arm-linux-gcc-4.5.1-v6-vfp-20101103

    标题“arm-linux-gcc-4.5.1-v6-vfp-20101103”指的是一款特定版本的ARM交叉编译工具链,由友善之臂公司提供。这个工具链主要用于将源代码编译为适用于ARM架构处理器,特别是ARM11内核的二进制代码。日期“20101103”...

    arm-linux-gcc-4.5.1-v6-vfp-20101103.gz

    标题中的"arm-linux-gcc-4.5.1-v6-vfp-20101103.gz"是一个特定版本的交叉编译器的压缩包文件,用于在基于ARM架构的Linux系统上构建应用程序。这个编译器是GCC(GNU Compiler Collection)的变体,GCC是一个广泛使用...

    jna-4.5.1-API文档-中文版.zip

    赠送原API文档:jna-4.5.1-javadoc.jar; 赠送源代码:jna-4.5.1-sources.jar; 赠送Maven依赖信息文件:jna-4.5.1.pom; 包含翻译后的API文档:jna-4.5.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org....

    jna-4.5.1-API文档-中英对照版.zip

    赠送原API文档:jna-4.5.1-javadoc.jar; 赠送源代码:jna-4.5.1-sources.jar; 赠送Maven依赖信息文件:jna-4.5.1.pom; 包含翻译后的API文档:jna-4.5.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标...

    gradle-4.5.1-all.zip 快速下载

    Gradle 4.5.1该版本改进了编译缓存: (1)C/C ++ 编译缓存已稳定; (2)ANTLR 插件现在充分利用编译缓存; (3)一些编译缓存相关的行为得到打磨,更好用; 除了对原生开发的缓存能力的改进之外,针对 C / C ++ 的...

    arm-linux-gcc-4.5.1(友善之臂提供的最新交叉编译器)

    ARM-Linux-GCC-4.5.1是友善之臂提供的一个特定版本的交叉编译器,主要用于在非ARM架构的主机上构建针对ARM架构的Linux应用程序。交叉编译器是一种特殊的编译器,能够在一种处理器平台上生成适用于另一种处理器平台的...

    arm-linux-gcc-4.5.1(安装包及教程)

    而"arm-linux-gcc-4.5.1.tgz"则包含了实际的编译器二进制文件和其他必要的组件,用户需要解压并按照教程的步骤来安装和使用。 为了在Ubuntu 14.04上成功搭建这个交叉编译环境,用户可能需要执行以下步骤: 1. 更新...

    springsource-tool-suite-3.7.2.RELEASE-e4.5.1-updatesite.zip

    标题 "springsource-tool-suite-3.7.2.RELEASE-e4.5.1-updatesite.zip" 提供的信息表明,这是一个SpringSource Tool Suite (STS) 的更新站点压缩包,具体版本为3.7.2.RELEASE,适配Eclipse Mars 4.5.1版本。...

    arm-linux-gcc-4.5.1-v6-vfp-20120301.rar

    arm-linux-gcc-4.5.1-v6-vfp-20120301 为交叉编译器,交叉编译和本地编译为相对应的概念。所谓的交叉编译就是在一种平台上编译出来的程序,是放到别的平台环境运行,即编译的环境和运行的环境不一样,现在windows下...

    Python库 | lxml-4.5.1-cp38-cp38-win_amd64.whl

    `lxml-4.5.1-cp38-cp38-win_amd64.whl`是针对Python 3.8 (cp38)平台的64位(win_amd64)版本的lxml库的预编译 wheels 包,用户可以直接安装在符合这些条件的环境中,无需进行额外的编译步骤。 1. **XML和HTML解析**...

    arm-none-linux-gnueabi-4.5.1

    标题中的"arm-none-linux-gnueabi-4.5.1"是一个针对ARM架构的交叉编译工具链的版本标识。这个工具链是为在非嵌入式Linux系统上构建适用于ARM处理器的软件而设计的。它允许开发者在运行Linux的个人电脑或其他高性能...

    flex-sdk-4.5.1.21328A.zip

    Adobe Flex SDK 4.5.1是Adobe公司推出的用于创建富互联网应用程序(RIA)的强大开发工具包。它基于开放源代码的ActionScript编程语言和Flex框架,允许开发者构建交互性强、用户体验优秀的Web应用。在本文中,我们将...

    gradle-4.5.1-all

    在"gradle-4.5.1-all"压缩包中,除了Gradle的二进制文件,还有一个名为"我只要1积分.txt"的文本文件。这个文件可能是提供下载资源的网站为了防止恶意下载或遵守其服务条款而设置的,通常这类文件不会包含与Gradle...

    rocketmq-all-4.5.1-bin-release.zip

    1. **下载与解压**:首先,从官方源或镜像站点下载`rocketmq-all-4.5.1-bin-release.zip`,解压到指定目录。 2. **配置环境变量**:将RocketMQ的bin目录添加到系统环境变量PATH中,方便后续命令行操作。 3. **启动...

    arm-linux-gcc-4.5.1-1.tar.bz2

    由于本人下载权限太小,...将五个文件全部解压到根目录下,即使用“-C /”参数,就可将五个文件解压到同一文件夹,然后就可完美使用。该gcc中包含opencv-arm必要的库文件,可与本人上传的opencv-arm、Qt-arm配合使用。

    iReport-4.5.1.zip

    iReport-4.5.1.zip 工具包,由于上传文件大小受限,先传除ireport文件夹之外...同时下载iReport-4.5.1.zip和iReport-4.5.1 ireport.zip后,将两个压缩包解压开后,把ireport文件夹剪切至iReport-4.5.1文件夹下即可使用

Global site tag (gtag.js) - Google Analytics