오늘의 공부는?!/Android

[Android] Alert Dialog 띄우기(Kotlin)

꼬물쥰 2022. 7. 24. 00:54

Dialog란?!

developer.android.com/guide/topics/ui/dialogs

 

대화상자  |  Android 개발자  |  Android Developers

대화상자 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니다. 대화상자는 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기

developer.android.com

 

공식문서에서 설명하는 Dialog는 다음과 같다

  • 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니다
  • 대화상자는 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용됩니다

다이얼로그 종류는 대표적으로 AlertDialog, DatePickerDialog, TimPickerDialog 등이 있고 커스텀도 가능하다

 

Alert Dialog 구성1. Container 2.Title 3. Supporting text 4. Buttons 5. Scrim

 

1. Activity.kt파일

binding.btnBack.setOnClickListener {
    val builder = AlertDialog.Builder(this)
    builder.setMessage("회원가입을 취소하시겠습니까?")
        .setPositiveButton("네",
            DialogInterface.OnClickListener { _, _ ->
                Log.d(TAG, "회원가입취소 - 네")
                finish()
            })
        .setNegativeButton("아니요",
            DialogInterface.OnClickListener { _, _ ->
                Log.d(TAG, "회원가입취소 - 아니요")
            })
    builder.show()
    cancelSignup()
}

Builder 클래스의 set메서드를 이용해 다이얼로그를 설정할 수 있다

위의 코드는 뒤로가기 버튼을 눌렀을 때 다이얼로그를 띄우고,

'네' 를 누르면 액티비티를 종료하고 '아니요'를 누르면 취소를 하는 코드이다

 

구현 결과

 

 

다음에는 커스텀 다이얼로그 만들어봐야겠당

커스텀 다이얼로그