Hyeyeon blog

[Android] Progress Dialog 만들기 본문

개발/Android

[Android] Progress Dialog 만들기

Hyeyeon.P 2021. 8. 25. 16:05
반응형

 

1. ProgressDialog 클래스에 적용할 Layout 생성

layout/progressdialog.xml 을 생성합니다.

<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_gravity="center"
    android:alpha="0.5">
</ProgressBar>

2. ProgressDialog 클래스 생성

Dialog를 상속받는 ProgressDialog 클래스를 생성합니다.

class ProgressDialog(context: Context) : Dialog(context) {
    init {
        requestWindowFeature(Window.FEATURE_NO_TITLE)
        setContentView(R.layout.progressdialog)
        setCancelable(false)
        
        window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) 
        window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) // dialog의 dim 처리 배경 제거 
    }
}

3. ProgressDialog 표시/숨김 동작

ProgressDialog 객체를 생성하고 show()와 dismiss()를 호출하여  컨트롤합니다. 

val progressDialog = ProgressDialog(this)
progressDialog.show()
..

if(progressDialog.isShowing) {
    progressDialog.dismiss()
}

4. 결과

show() 호출 시 아래와 같이 표시됩니다 

 

 

728x90
Comments