在此之前,我曾写过一篇关于《创建“不规则形状”的Air透明窗体》的教程,但当时使用的是Flex3,SDK使用的版本是SDK3.2(AIR 2.0)版本。前文请参考http://hi.baidu.com/taotao5453/blog/item/4d9fd988275e7f98a5c2722d.html
如果你不明白什么是“不规则形状”的Air透明窗体,请先跳到本文底部看预览图。
问题:
随着Adobe对Flex的更新,进入到Flex4以后,css中backgroundColor不能设置为空了,并且机制更建议使用skin皮肤来设置组件样式,而且Application中的一些属性也变更了showTitleBar等属性已不存在或变更了用法。也有几位童鞋按照Flex3类似做法来做未成功而向我提出过疑问。
解决方案:
现在使用Flash Builder4.5(SDK4.5.1),并使用新的spark组件库,还使用新的skin皮肤外观机制来为你的WindowedApplication设置皮肤,通过皮肤中的设置去除边框等。这里我会把步骤写详细一些,因为可能有读者对Flex4的api并不很熟悉,即便你会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”,也可任意命名.
现在我们的项目目录看起来是这样:
其中,红框内为我们第2、3步骤新创建的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这个外观类,在layer1和layer2标签之间添加一行代码:
<s:BitmapImagesource="@Embed('res/bg.png')" width="100%"height="100%" />
如图:
到这里,我们的“准备阶段”完成了。
准备阶段我们主要做了创建我们需要的文件,通过css绑定主文件和skin皮肤,并在皮肤中加入一张背景png图片。
完整项目结构如下图:
调试/运行一下,看下效果:
蜗牛很可爱吧@@@@@@@@@@@@@
转载请附源:http://hi.baidu.com/taotao5453,感谢
二、操作阶段
这里我们有三个地方需要修改,分别是:
1)ApplicationSkin皮肤类
2)TestAIR_Launcher2-app.xml项目配置文件
3)TestAIR_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",如下图,这样做是为了去除界面中底部一条灰色的状态条,在第一步骤最后的效果图中可以看到:
@@到这里,教程结束了,现在调试/运行一下看看最终效果:
是不是很神奇呢?!只显示一个大蜗牛了,边框什么的都不见了,而且在图片颜色不覆盖的不规则区域,鼠标都是可以透过的。
当然这个界面还不能拖动,这需要添加其他代码来完成,如果你会as或mxml语言,那么很容易了,也不是本文要讨论的范围!
相关推荐
opencv官网下载速度慢,需要的同学可以下载来用用
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工具类用于在运行期动态...
赠送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文档:...
赠送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交叉编译工具链,由友善之臂公司提供。这个工具链主要用于将源代码编译为适用于ARM架构处理器,特别是ARM11内核的二进制代码。日期“20101103”...
标题中的"arm-linux-gcc-4.5.1-v6-vfp-20101103.gz"是一个特定版本的交叉编译器的压缩包文件,用于在基于ARM架构的Linux系统上构建应用程序。这个编译器是GCC(GNU Compiler Collection)的变体,GCC是一个广泛使用...
赠送原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....
赠送原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该版本改进了编译缓存: (1)C/C ++ 编译缓存已稳定; (2)ANTLR 插件现在充分利用编译缓存; (3)一些编译缓存相关的行为得到打磨,更好用; 除了对原生开发的缓存能力的改进之外,针对 C / C ++ 的...
ARM-Linux-GCC-4.5.1是友善之臂提供的一个特定版本的交叉编译器,主要用于在非ARM架构的主机上构建针对ARM架构的Linux应用程序。交叉编译器是一种特殊的编译器,能够在一种处理器平台上生成适用于另一种处理器平台的...
总的来说,Gradle-4.5.1-all.zip提供了完整的Gradle环境,适用于需要快速获取构建工具的开发者,尤其是Android开发者。通过这个版本,开发者可以避免漫长的下载等待,快速投入项目开发。同时,Gradle的灵活性使其...
而"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 (STS) 的更新站点压缩包,具体版本为3.7.2.RELEASE,适配Eclipse Mars 4.5.1版本。...
arm-linux-gcc-4.5.1-v6-vfp-20120301 为交叉编译器,交叉编译和本地编译为相对应的概念。所谓的交叉编译就是在一种平台上编译出来的程序,是放到别的平台环境运行,即编译的环境和运行的环境不一样,现在windows下...
`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架构的交叉编译工具链的版本标识。这个工具链是为在非嵌入式Linux系统上构建适用于ARM处理器的软件而设计的。它允许开发者在运行Linux的个人电脑或其他高性能...
由于本人下载权限太小,...将五个文件全部解压到根目录下,即使用“-C /”参数,就可将五个文件解压到同一文件夹,然后就可完美使用。该gcc中包含opencv-arm必要的库文件,可与本人上传的opencv-arm、Qt-arm配合使用。
Adobe Flex SDK 4.5.1是Adobe公司推出的用于创建富互联网应用程序(RIA)的强大开发工具包。它基于开放源代码的ActionScript编程语言和Flex框架,允许开发者构建交互性强、用户体验优秀的Web应用。在本文中,我们将...
在"gradle-4.5.1-all"压缩包中,除了Gradle的二进制文件,还有一个名为"我只要1积分.txt"的文本文件。这个文件可能是提供下载资源的网站为了防止恶意下载或遵守其服务条款而设置的,通常这类文件不会包含与Gradle...
压缩包内的文件"gradle-4.5.1"包含了Gradle的完整二进制分布,包括所有必要的可执行文件和库。解压后,用户可以直接将该目录添加到系统的PATH环境变量中,或者通过配置Android Studio的Gradle设置来使用它,这样就...