Desta vez venho aqui mostrar um exemplo de personalização da típica Alert box do Flex (Alert.show();) mas em Action Script, este exemplo que mostro em baixo, utiliza a declaração de um Alert numa variável e a sua configuração por via de Action Script, antes de este mesmo Alert ser apresentado na aplicação.
Para já apenas disponibilizo alguns controlos de “estilo” que podemos personalizar na aplicação antes a apresentação, dos quais passo a apresentar:
- Personalização da cor de fundo.
- Personalização da cor do bordo/titulo.
- Modificação do “alpha”/ transparência no fundo e titulo.
- Inserção de um titulo e texto.
- Controlo de botões a apresentar
- Inserção e modificação de um ícone no Alert
Podem também ver no código fonte exemplos de utilização de:
-ArrayCollections
-Embed images declaradas como Class
-Utilização da função Switch();
-Utilização do AddChild();
-ComboBox e dataProvider.
-Algumas Propriedades do Alert como:
–setSyle (backgroundColor, borderColor, backgroundAlpha, borderAlpha)
–iconClass
–title
–text
Disponibilizo todo o código, devidamente comentado, para que possam perceber passo a passo o funcionamento da configuração de um Alert em Flex.
Ficaram de fora alguns parâmetros como o tipo de letra e sua cor, bordos, efeitos na apresentação e verificação de qual botão foi pressionado.
Aqui fica o exemplo:
Caso não consiga ver o swf clique aqui
Para ver em outra janela clique aqui
Espero que seja útil.
Aguardo comentários.




14 Comentários
Show de bola esse tutorial sobre alert eu nem imaginava que tinha como fazer tudo isso, vai dar uma diferença e tanto nas aplicações, valew demais.
Hum.. Já vou utilizar isto aqui.
Inté.
Muito bom, más Monstre-nos também como capturar o evento do botão que foi clicado
Para capturar o botão que foi clicado, basta adicionar um listner ao alert,
Primeiro importamos o evento Close que será usado pelo eventListner
import mx.events.CloseEvent;
depois fazer na função mostraAlerta(), no final:
alerta.addEventListener(Event.CLOSE, fechado);
depois criamos uma função:
private function fechado(evento:CloseEvent):void {
Alert.show(“o botão clicado foi:”+evento.detail);
}
para fazer uma comparaçao nesta ultima função:
if(evento.detail==Alert.OK) //ok clicado
if(evento.detail==Alert.YES) //YES clicado
if(evento.detail==Alert.NO) //NO clicado
if(evento.detail==Alert.CANCEL) //CANCEL clicado
se quiser fazer tudo directamente no seu alert:
Alert.show(“Alert teste”, “Alerta 1″, Alert.OK | Alert.CANCEL, this, fechado);
e a função:
private function fechado(evento:CloseEvent):void {
if(evento.detail==Alert.OK) //NO clicado
if(evento.detail==Alert.CANCEL) //CANCEL clicado
}
e está feito! seria isso?
Abraço.
É isto mesmo, muito bom.
Esta mt bom mesmo, thx ajudou imenso
Como faço para que ele pegue a propriedade de poder se mover?
Aqui no meu exemplo ele não fica no centro de forma alguma, verifiquei
os códigos e estão identicos…o que pode ser?
Boa Tarde muito bacana, não sabia que podimoas fazer isso no flex muito legal mesmo… e bacana da sua parte compartilhar esse conhecimento..
valeu!!!
Sucesso a todos nós…
existe alguma forma de mudar o foco dos botões com a tecla esquerda e direita do teclado? só consigo mudar o foco com o tab
muito bom
mais eu queria colocar um textArea no alert antes do botao ok tem como?
Muito bom.
Como seria para que ele tivesse a opção se ser apresentado como modal e, assim, não permitir o acesso aos outros itens da aplicação que ficam “por baixo” desse Alert ?
Muito bom essa sua dica, mais gostaria de saber mais uma coisa, como que poderia fazer para ter o mesmo efeito do alert.show do flex ou seja deixar a aplicação sem poder mexer.somente apos precionar o botao.
cmo pego o codigo do alerta que eu fiz ali em cima
Faltou somente o bloqueio de tela.