Flex 4透明背景问题?

时间:2011-06-06 22:29:09

标签: actionscript-3 flex4 flexbuilder

我找到了几种解决方案,但这些解决方案中没有一种适合我。有人可以帮我解决这个问题。 这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" name="app_clock" 
               minWidth="150" minHeight="150" width="150" height="150" backgroundAlpha="0.0">


               <fx:Script>
        <![CDATA[   

        ]]>
    </fx:Script>
    <fx:Declarations>
    </fx:Declarations>  

               <s:Graphic id="clock_graphics">  
        <s:Ellipse width="90" height="90" x="5" y="5">
            <s:stroke>
                <s:LinearGradientStroke weight="50" rotation="60">
                    <s:entries>
                        <s:GradientEntry color="#B5B5B5">                           
                        </s:GradientEntry>
                        <s:GradientEntry color="#494949">                           
                        </s:GradientEntry>
                    </s:entries>
                </s:LinearGradientStroke>
            </s:stroke>
        </s:Ellipse>    
        </s:Graphic>

</s:Application>

我在js中设置了这个params.wmode = "transparent";和对象

<param name="bgcolor" value="transparent" />
<param name="wmode" value="transparent" />  

anybode有解决方案吗? Tnx提前。

1 个答案:

答案 0 :(得分:5)

'Backgroundalpha'不起作用。您需要创建自定义透明应用程序外观类。像这样:

<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark">

<fx:Metadata>
    [HostComponent("spark.components.Application")]
</fx:Metadata>

<s:states>
    <s:State name="normal" />
    <s:State name="disabled" />
</s:states>

<s:Rect id="backgroundRect" left="0" right="0" top="0" bottom="0">
    <s:fill>
        <s:SolidColor alpha="0" />
    </s:fill>
</s:Rect>

<s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" 
         minWidth="0" minHeight="0" />

</s:Skin>

并将其分配给您的应用程序:

 <s:Application ... skinClass="MyTransparentApplicationSkin" ... />

我在所有主流浏览器上都测试了这个解决方案。 (是的,包括Safari)

此外,<param name="bgcolor" value="transparent" />对你没有好处。它只会采用颜色十六进制代码。