티스토리 뷰

반응형

앱 사용자와의 상호작용의 기본으로 AlertDialog를 많이 사용하게 됩니다.

저는 확장함수로 구현을 해보았습니다.

Context의 확장함수로 구현해서 액티비티 단에서 쉽게 호출할 수 있어서 자주 사용하는 방법입니다.

 

기본 다이얼로그

가장 기본적인 호출 방법 입니다.

fun Context.showAlertDialog() {
    AlertDialog.Builder(this).apply {
        setTitle("제목")
        setMessage("내용")
        setPositiveButton("확인") { dialog, which ->
            // 확인 눌렀을 때 동작
            dialog.dismiss()
        }
        setNegativeButton("취소") { dialog, whick ->
            // 취소 눌렀을 때 동작
            dialog.dismiss()
        }
    }.show()
}

결과 화면

화면터치 또는 키 입력으로 인한 동작 막기

보통 다이얼로그를 생성하면서 화면 터치를 막기위해서 많이 사용합니다.

fun Context.showAlertDialog() {
    AlertDialog.Builder(this).apply {
        setTitle("제목")
        setMessage("내용")
        setCancelable(false)

        setPositiveButton("확인") { dialog, which ->
            // 확인 눌렀을 때 동작
            dialog.dismiss()
        }
        setNegativeButton("취소") { dialog, whick ->
            // 취소 눌렀을 때 동작
            dialog.dismiss()
        }
    }.show()
}

setCancelable을 추가해주면 되고, 기본값은 true로 세팅되어 있습니다. false로 바꿔주시면 다이얼로그가 보여질때는 화면 터치나 백버튼 동작이 막히게 됩니다.

 

오늘은 간단한 사용방법만 알아보았고,

이외에 커스텀 레이아웃를 사용해 Alert 다이얼로그를 입맛에 맞게 만들어 사용하거나

EditText 또는 TextView 등의 커스텀 뷰를 넣어서 스타일을 적용하는 방법도 있으니 참고하세요~

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함