Everything counts - 라키의 IT 블로그

[Android/안드로이드] 로딩 다이얼로그 띄우기 - ProgressDialog 본문

프로그래밍/Android

[Android/안드로이드] 로딩 다이얼로그 띄우기 - ProgressDialog

벡스파 2020. 5. 5. 06:03

 

어플을 사용하다보면 이게 렉인지, 멈춘건지, 앱에서 의도한 로딩중인건지 잘 구분이 안갈 때가 있다.

이걸 표시를 안해주면 사용자는 어플을 그저 답답하게만 느끼고, 실행 중간에 끄거나 다시 클릭할수도있다.

 

이걸 방지하기 위해서 로딩중이라는걸 나타내기 위해 ProgressDialog를 화면에 띄울 것이다.

 

저장소가 있는지 확인하기 위해 firebase와 데이터를 주고받는 과정에서 살짝의 딜레이가 필요해 핸들러를 이용해 delay를 넣었더니

앱이 멈춘듯한 느낌을 많이 받을 수 있었다. 그걸 방지하기 위해 딜레이 시작 전, 후에 프로그래스 다이얼로그를 넣을것

 

1. ProgressDialog 초기화

 

ProgressDialog progressDialog = new ProgressDialog(this); 
progressDialog.setMessage("저장소 확인중...");
progressDialog.setCancelable(true); 
progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Horizontal);

 

setMessage 는 표시할 메시지를 정한다.

setCancelable 은 progressDialog를 실행 중 취소할 수 있는지를 정한다.

setProgressStyle 은 프로그래스 다이얼로그의 스타일을 정한다.

 

나는 ProgressDialog 를 onCreate 바깥에서 선언해주고

initDialog메서드를 만들어 onCreate 안에서 다이얼로그를 초기화 해줬다.

 

2. ProgressDialog 표시

progressDialog.show();

다이얼로그를 표시하기 시작할 부분에 입력해준다.

ex. 삭제버튼을 누르면 저장소가 있는지 확인하는 과정에서 삭제버튼을 누른 후

 

3. ProgressDialog 종료

progressDialog.dismiss();

 

다이얼로그를 종료할 시점에 입력해준다.

ex. 삭제버튼을 누르면 저장소가 있는지 확인하는 과정에서 저장소가 있는지 결과를 받아온 후

 

실행화면