我在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>
请注意,Spinner控件本身是透明的。 SWFLoader只是让它忽略我的backgroundAlpha设置。有什么想法吗?
答案 0 :(得分:1)
我认为您的问题在Spinner组件中,您必须在那里设置背景颜色或alpha,这会导致您的加载器具有背景颜色。如果你没有设置它然后设置它因为它可能默认为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>
答案 1 :(得分:0)
事实证明我正在做正确的事 - Flex只是没有将我的微调器SWF的最新版本复制到我的主应用程序的bin中。相反,它一直坚持在我添加透明度之前构建的先前版本。
我手动将新的微调器SWF复制到主应用程序的bin中,然后它就可以了!