Flex 4 прозрачный фон проблема? - PullRequest
2 голосов
/ 07 июня 2011

Я нашел несколько решений для этого, но ни одно из этих решений не работает для меня. Может кто-нибудь помочь мне с этим, пожалуйста.вот мой код:

<?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 Ответ

5 голосов
/ 07 июня 2011

'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" /> не принесет вам пользы.Он будет принимать только цветные шестнадцатеричные коды.

...