안녕하세요!
허접샴푸입니다.
정말 오랜만에 돌아왔습니다 ㅜㅜ
앞으로 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
'[Android] > 허접 Programming Tips' 카테고리의 다른 글
Xml에서 tools는 도데체 무엇인가? (0) | 2020.04.03 |
---|---|
안드로이드 Kotlin, Coroutine으로 Custom Loading Dialog(커스텀 로딩 다이얼로그) 구현하기 (0) | 2020.03.01 |
Google Map 구글 지도 getFragmentManager() Deprecated 해결방법 (0) | 2018.11.29 |
안드로이드 Animation으로 Custom Loading(커스텀 로딩) 구현하기(2/2) (3) | 2017.07.18 |
안드로이드 Animation으로 Custom Loading(커스텀 로딩) 구현하기(1/2) (3) | 2017.07.13 |