Android App Track⛺-032

MunkiJeon·2024년 7월 21일

TIL

목록 보기
49/59

TIL (Today I Learned)

오늘 공부한거!

다이알로그(Dialog)

  • 다이얼로그는 화면에 보여지는 작은 윈도우.
    즉, 화면을 채우지 않고 사용자에게 어떤 정보를 전달하거나 추가적인 정보를 입력받는 작은 윈도우 화면.
    1. 제목과 설명 넣기
         AlertDialog.Builder(this)
                         .setTitle("Title")//제목
                         .setMessage("Hello, This is message")//내용
                         .create()//만들기
                         .show()//보여주기
    1. 버튼 추가하기
      AlertDialog.Builder(this)
                         .setTitle("Title")
                         .setMessage("Hello, This is message")
                         .setPositiveButton("ok", object : DialogInterface.OnClickListener {
                             override fun onClick(dialog: DialogInterface, which: Int) {
                                 Log.d("MyTag", "positive")
                             }
                         })
                         .setNegativeButton("cancel", object : DialogInterface.OnClickListener {
                             override fun onClick(dialog: DialogInterface, which: Int) {
                                 Log.d("MyTag", "negative")
                             }
                         })
                         .setNeutralButton("neutral", object : DialogInterface.OnClickListener {
                             override fun onClick(dialog: DialogInterface, which: Int) {
                                 Log.d("MyTag", "neutral")
                             }
                         })
                         .create()
                         .show()
  1. 리스트 보여주기
val array = arrayOf("dog", "cat", "cow")

AlertDialog.Builder(this)
                    .setTitle("list")
                    .setItems(array, object : DialogInterface.OnClickListener {
                        override fun onClick(dialog: DialogInterface, which: Int) {
                            val currentItem = array[which]
                            Log.d("MyTag", "currentItem : $currentItem")
                        }
                    })
                    .show()

4. 체크박스

val checkedArray = booleanArrayOf(true, false, true)

AlertDialog.Builder(this)
                    .setTitle("checkbox")
                    .setMultiChoiceItems(array, checkedArray, object : DialogInterface.OnMultiChoiceClickListener {
                        override fun onClick(dialog: DialogInterface, which: Int, isChecked: Boolean) {
                            Log.d("MyTag", "which : $which, isChecked : $isChecked")
                            checkedArray[which] = isChecked
                        }
                    })
                    .setPositiveButton("ok", object : DialogInterface.OnClickListener {
                        override fun onClick(dialog: DialogInterface?, which: Int) {
                            Log.d("MyTag", "checkedItems : ${checkedArray.contentToString()}")
                        }
                    })
                    .show()

5. 라디오버튼

  • checkedItemPosition 변수를 통해 미리 체크될 항목을 설정할 수 있습니다.
    또한 아이템이 클릭되었을 때 checkedItemPosition 변수에 값을 저장하고 불러와 사용합니다.
var checkedItemPosition = 0

AlertDialog.Builder(this)
                    .setTitle("radio")
                    .setSingleChoiceItems(array, checkedItemPosition, object : DialogInterface.OnClickListener {
                        override fun onClick(dialog: DialogInterface, which: Int) {
                            Log.d("MyTag", "which : $which")
                            checkedItemPosition = which
                        }
                    })
                    .setPositiveButton("ok", object : DialogInterface.OnClickListener {
                        override fun onClick(dialog: DialogInterface?, which: Int) {
                            Log.d("MyTag", "checkedItemPosition : $checkedItemPosition")
                        }
                    })
                    .show()


6.커스텀 다이얼로그
글이 길어 링크로 대체 : https://jhshjs.tistory.com/59

알림(Notification)

참고 링크 대체 : https://limheejin.tistory.com/190

profile
공장자동화와 웹 개발을 핥아 먹다 앱 개발로 전향한 개발자의 키보드의 낡은 키캡⛑️

0개의 댓글