제목
선택 사항이며 콘텐츠 영역에 상세한 메시지, 목록 또는 맞춤 레이아웃이 채워져 있는 경우에만 사용한다.
단순한 메시지 또는 질문을 나타내야 하는 경우 제목은 없어도 된다.
콘텐츠 영역
메시지, 목록 또는다른 맞춤 레이아웃을 표시 할 수 있다.
작업 버튼
대화 상자 하나에 작업 버튼이 세 개를 초과하면 안된다.
오늘은 가장 기본적으로 사용하는 AlertDialog에 대해서 알아보자
MainActivity.kt
package com.example.test1234
import android.app.AlertDialog
import android.content.DialogInterface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onBackPressed() {
val builder = AlertDialog.Builder(this)
builder.setTitle("종료")
builder.setIcon(R.mipmap.chat_image)
builder.setMessage("정말 종료하시겠습니까?")
// 버튼 클릭시 이벤트
val listener = DialogInterface.OnClickListener { _, p0 ->
if(p0 == DialogInterface.BUTTON_POSITIVE){
finish()
}
}
builder.setPositiveButton("확인", listener)
builder.setNegativeButton("취소", null)
builder.show()
}
}
onBackPressed() 메서드의 코드는 확인 버튼을 눌렀을 때 앱을 종료하도록 정확하게 작성되어 있다.
이 코드는 사용자가 뒤로가기 버튼을 눌렀을 때 "종료" 다이얼로그가 표시되고, 확인 버튼을 누르면 앱이 종료된다. "취소" 버튼을 누를 경우에는 아무 동작도 수행하지 않도록 작성했다.
코드가 정말 간단해서 어디서든 간편하게 사용할 수 있을 것 같다. 다음엔 커스텀 다이얼로그에 대해서 알아보아야 겠다.