Flex

Adobe Flex 2.0 – BUG – Unknown issue 01

Adobe Flex 2.0 é realmente muito bom, embora a Adobe liste uma série de bugs que ela sabe que existe porém ainda está em consertos e ver se realmente consegue lançar um pacote de correções o mais breve possível. Vou postar mais uma que descobrir hoje quando estava ministrando um curso hoje, acabei descobrindo.

Bom eis que uso apenas um CSS para setar um ícone a todos os botões que usarei em uma suposta aplicação.

[css] Button {
icon:Embed(source=’icone.png’);
}
[/css]

Okay, agora adicione qualquer botão dentro de seu Application.

1
2
<br />
<mx:Button label="Teste com icone"/><br />

Lembrando que o arquevo no CSS “icone.png”, é apenas um exemplo, para realmente funcionar coloque um arquevo de ícone que você tenha.

Agora, adicione qualquer outro componente que o Flex usa como por exemplo um DateChooser, um Rich TextEditor ou um Panel.

Ao fazer isso o MXML editor do Flex vai atribuir o ícone criado não só no que você pediu mas em todos os componentes que usarem o componente Button.

Acontece isso. Olhei no site da Adobe e não vi como “Known issues”, então tou postando aqui e lá também.

Solução

Para resolver o problema, basta adicionar um StyleName para cada Tag ou melhor componente que você for usar, ao invés de usar um atributo diretamente ao Tag Button.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
</p>
<p><!-- Maneira correta -- ><br />
<mx:Style><br />
     .meuEstilo {<br />
            icon:Embed(source='icone.png');<br />
      }<br />
     .meuEstilo2 {<br />
            fontSize:14;<br />
            icon:Embed(source='icone.png');<br />
      }<br />
</mx:Style><br />
<mx:Button styleName="meuEstilo" label="Teste 1"/><br />
<mx:Button styleName="meuEstilo2" label="Teste 2"/></p>
<p>

Pode ser que seja pela hora, porém realmente reforçei a pesquesa mas não achei como Known issues. Alguém me ajude se tiver errado.

Para ver uma lista completa de erros no Release Notes do Flex 2. Tecnology OverView basta clicar aqui.