투케이2K

119. (AndroidStudio/android/kotlin) 코틀린 ProgressDialog 사용해 원형 대기 프로그레스 만들기 본문

Android

119. (AndroidStudio/android/kotlin) 코틀린 ProgressDialog 사용해 원형 대기 프로그레스 만들기

투케이2K 2021. 4. 27. 14:07

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : kotlin

/* =========================== */

/* =========================== */

[소스 코드]

 

//========== [원형 프로그레스 팝업창 전역 변수] ==========
lateinit var progress_Dialog: ProgressDialog




    
//========== [원형 프로그레스 팝업창 호출 부분] ==========
fun getProgressShow(){
	try{
		var str_tittle = "Please Wait ..."
		var str_message = "잠시만 기다려주세요 ...\n진행 중입니다 ..."
		var str_buttonOK = "종료"
		var str_buttonNO = "취소"

		progress_Dialog = ProgressDialog(this@A_Test_Kotlin)
		progress_Dialog.setTitle(str_tittle) //팝업창 타이틀 지정
		progress_Dialog.setIcon(R.drawable.tk_app_icon) //팝업창 아이콘 지정
		progress_Dialog.setMessage(str_message) //팝업창 내용 지정
		progress_Dialog.setCancelable(false) //외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정
		progress_Dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER) //프로그레스 원형 표시 설정
		progress_Dialog.setButton(DialogInterface.BUTTON_POSITIVE, str_buttonOK, DialogInterface.OnClickListener { dialog, which ->
			// TODO Auto-generated method stub
			Toast.makeText(application, "프로그램을 종료합니다", Toast.LENGTH_SHORT).show()
			getProgressHidden() //TODO 팝업창 비활성 처리
		})
		progress_Dialog.setButton(DialogInterface.BUTTON_NEGATIVE, str_buttonNO, DialogInterface.OnClickListener { dialog, which ->
			// TODO Auto-generated method stub
			Toast.makeText(application, "프로그램을 취소합니다", Toast.LENGTH_SHORT).show()
			getProgressHidden() //TODO 팝업창 비활성 처리
		})
		try {
			progress_Dialog.show()
		}
		catch (e : Exception){
			e.printStackTrace()
		}
	}
	catch(e : Exception){
		e.printStackTrace()
	}
}





//========== [원형 프로그레스 팝업창 닫기 부분] ==========
fun getProgressHidden(){
	try {
		progress_Dialog.dismiss()
		progress_Dialog.cancel()
	}
	catch (e : Exception){
		e.printStackTrace()
	}
}

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

반응형
Comments