안드로이드 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()
[결과 화면]
다음은 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