Como posso criar uma sombra projetada como efeito flutuante em torno de um componente de tela no flex?

StackOverflow https://stackoverflow.com/questions/242363

  •  04-07-2019
  •  | 
  •  

Pergunta

Eu quero criar uma sombra ao redor do componente de tela no flex. Tecnicamente falando, não será uma sombra, como eu quero para envolver o componente dando o componente de um olhar flutuante. Eu posso ser capaz de fazê-lo com brilho, mas alguém pode soltar uma ou duas linhas que já tenha feito isso?

Agradecemos antecipadamente.

Foi útil?

Solução

Na verdade, eu resolvi fazendo isso:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" 
        width="780" height="100%" borderStyle="solid" borderColor="gray"
            creationComplete="init();" backgroundColor="white">

  <mx:Script>
        <![CDATA[
            import mx.styles.StyleManager;


            private function init():void {
                var glow:GlowFilter = new GlowFilter();
                glow.color = StyleManager.getColorName("gray");
                glow.alpha = 0.8;
                glow.blurX = 4;
                glow.blurY = 4;
                glow.strength = 6;
                glow.quality = BitmapFilterQuality.HIGH;

                this.filters = [glow];
            }
        ]]>
    </mx:Script>



</mx:Canvas>

Outras dicas

Você pode usar DropShadowFilter mas parece ser mais ou menos a mesma coisa:

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" 
    width="780" height="100%" borderStyle="solid" borderColor="gray"
    creationComplete="init();" backgroundColor="white" dropShadowEnabled="true">
    <mx:filters>
        <mx:DropShadowFilter
            quality="1"
            color="gray"
            alpha="0.8"
            distance="0"
            blurX="4"
            blurY="4"
            strength="6"
        />
    </mx:filters>
</mx:Canvas>

No Flex 4 Estou usando o seguinte. Eu só queria postar isso porque os filtros de propriedade deve ser semelhante na imagem abaixo. (Sim, eu sei que eu estou usando um filtro de faísca em um objeto mx)

 <fx:Declarations>
    <s:GlowFilter
        id="glowBlack"
        alpha=".6"
        color="0x000000"
        inner="false"
        blurX="10"
        blurY="10"
        quality = "2"

        />

             <mx:Image id="rssIcon"
              height="70"
              filters="{[glowBlack]}"
              source="assets/rss/icon_rss.png"
              styleName="rssIconStyle"
              width="70"
              scaleContent="true"
              click="openRssSite(event)"
              "/>

Se você quiser defini-lo fora da tela, você pode fazer isso:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
        width="780" height="100%">

   <mx:Canvas filters="[dropShadow]" width="200" height="200" backgroundColor="white"/>
   <mx:DropShadowFilter id="dropShadow" distance="0"/>

</mx:Application>

Você pode ser capaz de fazê-lo com degrafa e esfola. Seus documentos são limitados, mas você pode assistir a um dos vídeos tutoriais sobre como criar skins. Ou olhar para o seu código de exemplo. Apenas atribuir um degrafa programático pele para a fronteira da sua tela e você pode adicionar todos os tipos de gradientes funky, caminhos, formas, seja qual for.

Dependendo de suas necessidades você pode ser capaz de fugir com:

<mx:Canvas ... dropShadowEnabled="true" shadowDirection="right">

Há ressalvas .. delineado aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top