Personalização do Flex Alert Box em Action Script


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

Código Fonte

Espero que seja útil.

Aguardo comentários.

Deixe um comentário ou um Trackback
   

14 Comentários

  1. February 6, 2008 às 12:11 pm | Permalink

    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.

  2. Márcio
    March 6, 2008 às 11:41 pm | Permalink

    Hum.. Já vou utilizar isto aqui.

    Inté.

  3. Marcelo
    June 19, 2008 às 8:54 pm | Permalink

    Muito bom, más Monstre-nos também como capturar o evento do botão que foi clicado

  4. June 20, 2008 às 12:29 pm | Permalink

    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.

  5. Marcelo
    June 27, 2008 às 5:52 pm | Permalink

    É isto mesmo, muito bom.

  6. Pedro
    May 6, 2009 às 3:07 pm | Permalink

    Esta mt bom mesmo, thx ajudou imenso :D

  7. Arlei F Farnetani Jr
    June 12, 2009 às 3:21 am | Permalink

    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?

  8. Simão Neto
    July 27, 2009 às 8:18 pm | Permalink

    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…

  9. AlSharad
    November 24, 2009 às 5:56 pm | Permalink

    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 :(

  10. hugo guitselar
    November 27, 2009 às 11:46 am | Permalink

    muito bom

    mais eu queria colocar um textArea no alert antes do botao ok tem como?

  11. Fábio Pupin
    March 31, 2010 às 6:08 pm | Permalink

    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 ?

  12. xmem
    September 17, 2010 às 11:27 pm | Permalink

    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.

  13. December 17, 2010 às 1:49 am | Permalink

    cmo pego o codigo do alerta que eu fiz ali em cima

  14. Fernando
    February 21, 2011 às 3:05 pm | Permalink

    Faltou somente o bloqueio de tela.

2 Trackbacks

  1. Por Manifesto Flex Brasil | TSW - That Should Work em March 19, 2008 às 1:32 pm

    [...] Personalização do Flex Alert Box em Action Script Por que ele é relevante: Aborda praticamente todos os parametros “graficos” mais [...]

  2. [...] Action Script 3 – O livro. (Sorteio) » Live Help/Call Center Source in flex+blazeDS » Para capturar o botão que foi clicado, b…» Jeferson, quanto a mais tutoriais, é um …» Velho… parabéns… Impressionante [...]

Deixe um comentário

O seu email nunca será publicado ou partilhado. Campos obrigatórios estão marcados com um *

*
*