0

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設定を無視する原因となるものがあります。何か案は?

4

2 に答える 2

1

あなたの問題はスピナーコンポーネント内にあると思います。そこで背景色またはアルファを設定する必要があり、それがローダーに背景色を持たせる原因になっています。設定しない場合は、デフォルトでアルファが1になる可能性があるため、設定します。次の手順を実行すると背景が表示されませんが、アルファを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>
于 2009-05-20T21:06:56.923 に答える
0

私は正しいことをしていたことがわかりました。FlexはスピナーSWFの最新バージョンをメインアプリのビンにコピーしていませんでした。代わりに、透明度を追加する前に構築された以前のバージョンを保持していました。

新しいスピナーSWFをメインアプリのビンに手動でコピーしたところ、機能しました。

于 2009-05-21T14:09:44.090 に答える