Fala pessoas, baum demais né?!

Como sabem a propriedade ‘styleName’ não existe no componente spark ‘GradientEntry do ‘LinearGradient’. Com isso não é possível carregar seus estilos dinamicamente através de um arquivo css externo.

Neste post mostraremos uma forma simples e objetiva de fazer isso.

Em um arquivo css, crie uma classe qualquer com uma propriedade qualquer:

.anyClass

{

    property: #EEEE95;

}

Crie normalmente o componente gradient e a encapsule dentro de um spark Group:

<s:Group id="_groupRect" styleName="anyClass" width="100%" height="22">

    <s:Rect width="100%" height="100%">

        <s:fill>

            <s:LinearGradient>

                <s:entries>

                    <s:GradientEntry color="{ _groupRect.getStyle('property') }" alpha="0.5"/>

                    <s:GradientEntry color="{ _groupRect.getStyle('property') }" alpha="0" />

                </s:entries>

            </s:LinearGradient>

        </s:fill>

    </s:Rect>

</s:Group>

Reparem agora como o código da cor é carregado: O componente busca a cor do estilo do componente cujo foi inserido, no caso o <s:Group>.

Bem, essa foi a maneira que encontrei para criar um estrutra que suporte uma futura troca de cores dinamicamente através de css.

Não sei se é a melhor forma mas, foi a mais elegante que encontrei. Até agora.

Espero que aproveitem.

Até mais.