Notice
Recent Posts
Recent Comments
Link
투케이2K
486. (Android/kotlin) [유틸 파일] 코틀린 로딩 프로그레스 (Loading Progress) 활성 팝업창 (alert) 생성 본문
Android
486. (Android/kotlin) [유틸 파일] 코틀린 로딩 프로그레스 (Loading Progress) 활성 팝업창 (alert) 생성
투케이2K 2023. 2. 18. 18:56[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// ----------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [LOADING] : [로딩 Alert 팝업창 호출 실시]
// ----------------------------------------------------------------------------------
var progress_Dialog: ProgressDialog? = null
fun startLoadingAlert(mContext: Context?, header: String, content: String, ok: String) {
/**
* // -----------------------------------------
* [startLoadingAlert 메소드 설명]
* // -----------------------------------------
* 1. 로딩 팝업창 호출 메소드
* // -----------------------------------------
* */
// -----------------------------------------
/** [사용 방법 정의] */
/*
// [팝업창 호출 실시]
C_Ui_View.startLoadingAlert(
A_Main@this,
"알림",
"잠시만 기다려 주세요",
"확인")
// */
// -----------------------------------------
try {
Handler(Looper.getMainLooper()).postDelayed({ // [이미 실행 중인 팝업창이 있는 경우 종료]
// [이미 실행 중인 팝업창이 있는 경우 종료]
stopLoadingAlert(mContext)
//*
S_Log.ltd("================================================")
S_Log.cnt("[" + ACTIVITY_NAME + " >> " + "startLoadingAlert" + " :: 로딩 팝업창 호출 실시]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[header :: $header]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[content :: $content]")
S_Log.lbd("================================================")
// */
// [AlertDialog 팝업창 생성]
val progress_Dialog = ProgressDialog(mContext)
progress_Dialog.setTitle(header) //[팝업창 타이틀 지정]
//progress_Dialog.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
progress_Dialog.setMessage(content) //[팝업창 내용 지정]
progress_Dialog.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
progress_Dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER) //[프로그레스 원형 표시 설정]
progress_Dialog.setButton(DialogInterface.BUTTON_POSITIVE, ok) { dialog, which ->
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
stopLoadingAlert(mContext)
// -----------------------------------------
}
progress_Dialog.show()
}, 0)
} catch (e: Exception) {
e.printStackTrace()
}
}
// ----------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [LOADING] : [로딩 Alert 팝업창 종료 실시]
// ----------------------------------------------------------------------------------
fun stopLoadingAlert(mContext: Context?) {
/**
* // -----------------------------------------
* [stopLoadingAlert 메소드 설명]
* // -----------------------------------------
* 1. 로딩 팝업창 종료 메소드
* // -----------------------------------------
*/
// -----------------------------------------
//*
S_Log.lte("================================================")
S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 로딩 팝업창 종료 실시]")
S_Log.lbe("================================================")
// */
// -----------------------------------------
/** [사용 방법 정의] */
/*
// [팝업창 호출 실시]
C_Ui_View.stopLoadingAlert(A_Main@this)
// */
// -----------------------------------------
try {
Handler(Looper.getMainLooper()).postDelayed({
if (progress_Dialog != null) {
progress_Dialog!!.dismiss()
progress_Dialog = null
}
}, 0)
} catch (e: Exception) {
e.printStackTrace()
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments