반응형
다이얼로그
안드로이드에서 팝업은 다이얼로그라고 부른다.
난 왜인지 팝업윈도우로 알고있어서 한참을 찾았다.
어쨌거나 아래 사진과 같은 가장 기본적인 다이얼로그를 출력한다.
기본적인 구현
- this는 context다.
val builder = AlertDialog.Builder(this)
builder
.setTitle("Title")
.setMessage("MessageMessageMessageMessageMessageMessage")
.setPositiveButton("Start",
DialogInterface.OnClickListener { dialog, id ->
// Start 버튼 선택시 수행
})
builder.create()
builder.show()
취소버튼 추가
- builder에 setNegativeButton속성을 추가한다.
val builder = AlertDialog.Builder(this)
builder
.setTitle("Title")
.setMessage("MessageMessageMessageMessageMessageMessage")
.setPositiveButton("Start",
DialogInterface.OnClickListener { dialog, id ->
// Start 버튼 선택 시 수행
})
.setNegativeButton("Cancel",
DialogInterface.OnClickListener { dialog, id ->
// Cancel 버튼 선택 시 수행
})
// Create the AlertDialog object and return it
builder.create()
builder.show()
테마 변경
다이얼로그는 사용자 입맛에 맞게 디자인 할 수 있지만 안드로이드에서 기본적으로 제공해주는 테마도 여러개 있다.
- AlearDialog.Builder의 두번째 파라미터는 테마다. 두번째 파라미터에 R.class파일에 미리 지정된 값을 입력할 수 있다. 아래 코드를 안드로이드 스튜디오에 복사한 후 Theme_DeviceDefault_Light_Dialog_NoA~~를 Ctrl+클릭하면 다른 테마를 볼 수 있다.
val builder = AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth)
R.class 파일
전체 코드
https://github.com/HydroponicGlass/2021_Example_Android/tree/main/Dialog
최근댓글