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/ .
![]() |
| mockup do celular por Hassan Alkhateeb |
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
Postar um comentário