Após um post em www.xtechpt.com, sobre como trocar um icon de um determinado botão via Action Script, deparei-me com algo estranho, que apesar de nunca ter reparado nisso, o objecto "button" não permite a alteração do icon do botão definindo uma propriedade simples, como button.icon, apesar desta propriedade estar disponível nas propriedades do botão.
Bom, claro que existem sempre maneiras de fazer isso, por folha de estilos (CSS), definindo ai o icon do botão, e usando o styleName mas também por acesso directo à propriedade setStyle do button, para isso declarando a imagem como class;
Aqui exemplifico as duas formas.
Definindo o css, para alterar icon via styleName:
1: <mx:Style>
2: .button1 {
3: icon: Embed(source="1.png");
4: }
5: .button2
6: {
7: icon: Embed(source="2.png");
8: }
9: </mx:Style>
e para o caso de alteração de icon via setStyle, a declaração dos icons como class.
1: [Embed(source="1.png")]
2: private var icon1:Class;
3:
4: [Embed(source="2.png")]
5: private var icon2:Class;
depois basta usar:
1: //para alterar o icon para icon1 (1.png) via setStyle,
2: //usando a declaração icon1:Class;
3: button1.setStyle("icon",icon1);
4: //ou usando o CSS já definido para alterar o icon:
5: button1.styleName="button1";
6:
7: //são duas formas para alterar o icon de determinado Butão,
8: //neste caso aconselho a declaração CSS já que a podem fazer num
9: //ficheiro externo e usa-la no "aplicativo" sem terem que o recompilar
10: //se desejarem alterar determinada imagem.
11: //Muito útil para "skins"
No exemplo em baixo, com o código fonte disponível, usei os 2 métodos, deixando a escolha do método para trocar de icon seleccionável através o comboBox. Não indiquei em cima, mas para predefinir o estilo por via dos 2 métodos alternadamente/aleatoriamente, devemos colocar a instrução na função:
1: button1.clearStyle("icon");
Não consegue visualizar o .swf?? clique aqui
Para ver e fazer o download do código fonte:
Mostrar exemplo numa nova janela.
Espero que seja útil.









Um Trackback
[...] Exemplo de icon em botão Por que ele é relevante: Aborda diferentes métodos para atribuir/alterar um icon num botão por [...]