반응형

다이얼로그

안드로이드에서 팝업은 다이얼로그라고 부른다.

난 왜인지 팝업윈도우로 알고있어서 한참을 찾았다.

어쨌거나 아래 사진과 같은 가장 기본적인 다이얼로그를 출력한다.

 

 

 

기본적인 구현

  • 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