본문 바로가기

[Android]/허접 Programming Tips

안드로이드 Kotlin으로 Custom Loading Dialog(커스텀 로딩 다이얼로그) 구현하기

안녕하세요!

허접샴푸입니다.

정말 오랜만에 돌아왔습니다 ㅜㅜ

 

앞으로 Kotlin으로 많은 Tip을 제공해드리도록 하겠습니다.

 

먼저 Kotlin으로 Custom Dialog 을 구현하는 방법을 알려드리겠습니다. 많은 프로젝트에서 사용하시기 바랍니다~!

 

[1] LoadingDialog.kt 을 생성한다

별 특별한 내용이 없습니다.

LoadingDialog class는 Dialog를 상속받기 때문에 Context 를 필요로 합니다.

그래서 constructor에 Context를 인자로 받으며, 받은 인자를 Dialog(contenxt) 와 같이 넘겨줍니다.

 

init {} 을 통해 초기화를 시켜주는 데,

setCanceledOnTouchOutside(false를 작성하여, 다이얼로그 외부 화면을 터치할 때 다이얼로그가 종료되지 않도록 합니다.

window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) 를 작성하여, 다이얼로그의 배경이 투명하도록 만들어 줍니다.

 

[2] MainActivity.kt  && activity_main.xml

(MainActivity.kt)

(activity_main.xml)

이 또한 별 내용 없습니다.

Xml 레이아웃 파일에 Button 을 (테스트용) 만들어줍니다. 그다음

MainActivity.kt 에서는 setOnClickListener{} 을 선언하여 클릭 이벤트를 적용합니다.

버튼을 클릭하면 LoadingDialog 를 화면에 보여줄 수 있도록 MainActivity의 context 를 넘겨주어 show()를 통해 화면에 보여줍니다.

LoadingDialog(this).show()

 

[결과 화면]

Button 을 클릭하면 위와 같이로딩 다이얼로그가 화면에 표시되게 됩니다.

다음은 Coroutine(https://github.com/Kotlin/kotlinx.coroutines)을 사용하여 몇 초 이후에 로딩 다이얼로그가 사라지는 것에 대한 포스트를 작성하겠습니다.

 

여러 안드로이드 개발자분들께 많은 도움이 될 수 있기를 바랍니다. 

 

GitHub : https://github.com/DJDrama/Playground/tree/justloadingdialog

 

DJDrama/Playground

Contribute to DJDrama/Playground development by creating an account on GitHub.

github.com