O X do Xamarin Forms — Custom Dialogs , AiForms.Dialogs!Fala galera,

Tudo beleza?

A Muito tempo atras eu fiz um artigo sobre um controle que eu gosto bastante o ACR User Dialogs que nos ajuda a criar popups, toast e outros efeitos muito utilizados em Apps.

Porem hoje trago um outro pacote sensacional, que nos oferece um gama enorme de controles que nos ajudam a implementar essas telas em nossos Apps e este é o AiForms.Dialogs :

AiForms.Dialogs for Xamarin.Forms Demo (Dialog, Toast, Loading) — YouTube

Bora ver como utilizar?

Configurando o ControleVamos ao nosso querido Nuget instalar o pacote AiForms.Dialogs em todos os nossos projetos :

Agora vamos inicializar ele no iOS :

https://medium.com/media/fc1ff0a16ad10c492e4cf770308f21c7/hrefe no Android:

https://medium.com/media/36b87ef2a706c1f6388fd8df14a1141c/hrefPronto! Agora podemos utilizar!

Utilizando o ControleO AiForms.Dialogs tem muitos controles, então vamos dar uma explorada nele por partes :

Para facilitar nossa demo vamos criar uma View com os botões para chamar as ações :

https://medium.com/media/26a1428e26b0c8fe4263de930b60c68c/hrefDialog

Para utilizar o Dialog precisamos criar a nossa DialogView ,mas isso é bem simples :

Vamos criar uma ContentView e utilizar como base a DialogView do controle :

https://medium.com/media/8cf2874b4f142b36622572d7a7b1deef/hrefhttps://medium.com/media/099dd472affb6179619634b5ad1a4193/hrefPodemos dar Override em 4 métodos :

  • public override void SetUp(){}: Acionado quando abre o Dialog
  • public override void RunPresentationAnimation() {} : Define a animação de abertura
  • public override void RunDismissalAnimation() {} : Define a animação de fechamento
  • public override void Destroy() {} : Quando é executado o dispose e etc

Alem dos eventos eu adicionei 2 botões , um para chamar o DialogNotifier.Complete(); que chama o Evento de Complete no Dilog e outro que chama o de Cancelar o DialogNotifier.Cancel();

o Resultado :

Loading

Vamos criar um comando de carregamento simples :

https://medium.com/media/87ea12638e4614cabb517a562bbda110/hrefNo método LoadingConfig você determina as cores do indicador, do popup, opacidade , mensagem e etc.

Em seguida chamamos o Loading.Instance.StartAsync para que ele apareça na tela. Dentro do método você pode executar sua ação, nesse caso é apenas um exemplo com um Delay para ele ficar carregando :

Se você precisa editar o comportamento padrão é possivel, basta você implementar sua Própria LoadingView com o exemplo no próprio repositório : muak/AiForms.Dialogs: AiForms.Dialogs for Xamarin.Forms (github.com) :

AiForms.Dialogs/customloading.png at master · muak/AiForms.Dialogs (github.com)ToastPara utilizar o Toast precisamos criar a nossa ToastView ,mas como do Dialog isso também é bem simples :

Vamos criar uma ContentView e utilizar como base a ToastView do controle :

https://medium.com/media/dd92feec0501d3397741f55ac35d7543/hrefhttps://medium.com/media/0346ee03b3c7a7b5ca79f46eae23ced7/hrefPodemos dar Override em 3 métodos :

  • public override void RunPresentationAnimation() {} : Acionado quando a animação aparece
  • public override void RunDismissalAnimation() {} : Acionado quando a animação desaparece
  • public override void Destroy() {} : Quando é executado o dispose e etc

Pegando como base o próprio exemplo do repositório eu adicionei uma imagem e um label.

Em seguida basta chamarmos o comando em nosso botão informando o nome de nossa ToastView :

https://medium.com/media/168df811a24d128ac81f28f590e7979a/hrefO Resultado :

O AiForms.Dialogs tem infinitas possibilidades de customização de seus controles e se quiser ver todas as opções basta verificar o repositório oficial.

Se quiser pode baixar o exemplo clicando aqui.

Quer ver outros artigos sobre Xamarin ? Clique aqui.

Espero ter ajudado!

Aquele abraço!