我的开发工具是Flash Builder4.6。 在Flex3中,Application可以设置属性backgroundImage,但是Flex4中这个属性没有了。有一下方法进行背景设置,因为是转载的并进行的加工,所以有些还没有尝试,但是至少第一种方法是可行的。下面是我实验的结果:背景的蓝色是我的背景图片
默认启动mxml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_Application_skinClass_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
skinClass="skins.CustomApplicationSkin">
<s:layout>
<s:BasicLayout />
</s:layout>
<s:RichEditableText id="sdkVer"
editable="false"
textAlign="center"
fontSize="72"
horizontalCenter="0"
verticalCenter="0"
width="100%"
initialize="sdkVer.text = mx_internal::VERSION;" />
</s:Application
可以看到,在Application里多了一句skinClass,按照定义的包名和文件名建立skin文件。
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2009/03/22/setting-a-background-image-on-an-fxapplication-in-flex-gumbo/ -->
<s:Skin name="CustomApplicationSkin"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
alpha.disabled="0.5" >
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
</s:states>
<fx:Metadata>
<![CDATA[
[HostComponent("spark.components.Application")]
]]>
</fx:Metadata>
<!-- fill -->
<s:BitmapImage id="img"
source="@Embed('image1.jpg')"
resizeMode="scale"
smooth="true"
left="0" right="0"
top="0" bottom="0" />
<s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" minWidth="0" minHeight="0" />
</s:Skin>
背景图片可以根据自己放置的图片地址和名称修改,比如我的是把bg.jpg放在asset包下,那么source="@Embed('asset/bg.jpg')",但是我在编译的时候提示 resizeMode没有这个属性。直接去掉好了。