Pular para o conteúdo principal

Novo endereço

Fala galera, beleza? Esse blog aqui ja ta parado a muito tempo, se você quer mais conteúdo tech basta ir para  https://tuliocalil.com.br/ . 

Android Studio Progress Dialog de forma facil!

mockup do celular por Hassan Alkhateeb

Se você foi usar recentemente o Loading Dialog e percebeu que a biblioteca foi "deprecated", acompanhe o post para e veja a minha solução alternativa para essa questão.

Nem sempre acho necessário exibir uma barra de carregamento como a Progressbar, as vezes executo uma asynktask ou faço alguma outra operação fora da thread principal e quero poder exibir um dialogo que não seja diretamente no layout, ou mesmo quero bloquear a tela, por esse motivo e pela facilidade, sempre utilizei o Progress Dialog, mas na API 28 foi descontinuado, a biblioteca presente desde a API 1 do android se aposentou.



Então, pesquisando vi que uma das soluções era "recriar" a tal classe, fiz para o meu projeto e postei no Github o codigo, e resolvi criar um post também para o blog, então vamos lá!

Já que resolvi "criar meu próprio Progress Dialog", resolvi não usar o Progressbar em circulo que já existia, resolvi por algo customizável, então pensei em criar um gif e exibir, e ficou fantástico:

Utilizei o Glide para reproduzir os Gifs no ImageView sem muito dificuldade, e peguei um gif de exemplo desse post, que tem gifs open source incríveis!

Siga as instruções de como importar o Glide, após feito isso, vamos criar o XML que será o layout a ser exibido como dialogo:

Logo após, escolha o gif desejado, e salve na pasta "drawable" com um nome valido para que o Android Studio reconheça(exemplo: loading.gif), utilizarei este gif:



Por fim, vamos criar a classe responsável por "inflar" a view e por baixar e executar o gif:
E agora, vamos testar, para exibir o dialogo, basta apenas fazer o seguinte:

LoadingDialog loadingDialog = new LoadingDialog(Activity.this);
loadingDialog.setLoadImage(R.drawable.loading);
loadingDialog.show();
Na primeira linha, instanciamos a classe passando a activity atual. Na segunda linha, dizemos qual o gif iremos exibir, e por fim, na ultima linha, exibir o dialogo na tela.

Para fechar basta fazer o seguinte comando
loadingDialog.hide();
Também existe a poção "setCancelable(boolean)" caso você queria que seja possível que o usuario cancele o dialogo.

Veja o projeto completo no Github com toda documentação: https://github.com/tuliocll/Android-Easy-Loading-Dialog

Muito obrigado e até a próxima! 

Comentários

Postagens mais visitadas deste blog

Documentando APIs Rest - Swagger, OpenApi e Insomnia

Acredito que seja "batido" dizer que documentação é uma boa prática e deveria ser um pré-requisito nos projetos(as vezes até é, só não é implementado).

3 Kits de Interface para React Native - Ui Kits 2020

Já aconteceu de você precisar desenvolver um app em pouco tempo ou mesmo não ser muito bom na interface e acabar travando por isso? E que tal acelerar ainda mais o desenvolvimento de seus apps no React Native com componentes prontos, já estilizados e muito bonitos ? Então aqui vai os 3 kits de interface (ui kits) para você arrasar no prazo e no desgin dos seus apps! NativeBase O Ui kit que mais uso é o native base, como o nome sugere, ele consegue entregar uma interface com "estilização nativa" para o android e ios.  É um kit muito completo, robusto e simples de usar. Além de ser muito bonito ele conta com uma ferramenta incrível de temas ( similar ao do styled components ), para você personalizar as cores, fontes e tamanhos direto nesse app web aqui. Alguns componentes desse kit; Botões Cards Ui Kitten   Esse é um kit bem legal, baseado no Eva Design System , tem uns recursos bem legais pra estilização e tema, que...