我在SWF中创建了一个“加载”微调器。我使用SWFLoader在我的主应用程序SWF中显示这个微调器。如何使SWFLoader变得透明?目前它使用的是Flex的默认背景颜色,尽管我设置了backgroundAlpha="0"。
我的微调工具SWF的主要MXML:(注意backgroundAlpha的用法)
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:Controls="Controls.*" width="30" height="30" backgroundAlpha="0">
<Controls:Spinner id="ctrlSpinner" /> <!-- spinner logic encapsulated in a component -->
</mx:Application>我的应用程序SWF的主要MXML:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="801">
<mx:SWFLoader x="10" y="173" id="swfSpinner" autoLoad="true" scaleContent="true" >
<mx:source>SWFs/LoadingSpinnerApp.swf</mx:source>
</mx:SWFLoader>
</mx:Application>请注意,微调器控件本身是透明的。只是关于SWFLoader的一些东西导致它忽略了我的backgroundAlpha设置。有什么想法吗?
发布于 2009-05-21 14:09:44
事实证明我是在做正确的事情-- Flex只是没有将我的微调工具SWF的最新版本复制到我的主应用程序的bin中。取而代之的是,在我添加透明度之前,它一直保持着以前的版本。
我手动将新的微调器SWF复制到主应用程序的bin中,然后它就可以工作了!
发布于 2009-05-20 21:06:57
我认为你的问题出在微调组件中,你必须在那里设置背景色或alpha,这会导致你的加载器有一个背景色。如果你不设置它,那么设置它,因为它可能缺省为1。当我执行以下操作时,我没有得到任何背景,但当我将alpha更改为1时,黑色背景出现。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" backgroundAlpha="1"
backgroundColor="#000000">
<mx:Text id="textBox" text="Hey World"/>
</mx:Application>和
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" backgroundColor="#ffffff">
<mx:Canvas backgroundColor="#ff0000" width="200"
height="200" verticalCenter="0" horizontalCenter="0">
<mx:SWFLoader x="10" y="173" id="swfSpinner"
autoLoad="true" scaleContent="true" source="DebuggerTest.swf"/>
</mx:Canvas>
</mx:Application>https://stackoverflow.com/questions/890063
复制相似问题