반응형
DatePickerDialog를 이용하면 달력을 이용해서 날짜를 입력받을 수 있습니다.
간단하게 한개의 함수를 통해 살펴보면,
<showDatePickerDialog()>
private fun showDatePickerDialog(disableCal: Calendar) {
val cal = Calendar.getInstance()
DatePickerDialog(
this,
DatePickerDialog.OnDateSetListener { _, year, monthOfYear, dayOfMonth ->
val selectedDate = Calendar.getInstance().apply { set(year, monthOfYear, dayOfMonth) }
// 날짜 선택 후 발생할 이벤트 입력
},
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH)
).apply {
// 날짜 제한
datePicker.maxDate = disableCal.timeInMillis
// datePicker.minDate = disableCal.timeInMillis
}.show()
}
위 함수는 DatePickerDialog를 띄워주는 함수입니다.
OnDateSetListener 구현부를 살펴보면 selectedDate를 통해
사용자가 선택한 날짜를 가져올 수 있습니다. 그 아래 주석부분에
해당 선택날짜를 이용해서 구현할 내용을 작성하면 됩니다.
매개변수로 disableCal이라는 Calendar객체를 받고있는데,
해당 객체를 이용해서 DatePickerDialog의 maxDate, minDate를 이용하면
특정날짜 전후로 날짜를 선택하지 못하도록 disable시킬 수도 있습니다.
반응형
'Android' 카테고리의 다른 글
[안드로이드 / Kotlin] 코드로 문자열 밑줄 표현하기 (0) | 2021.09.04 |
---|---|
[안드로이드 / Kotlin] windowLightStatusBar (0) | 2021.09.01 |
[안드로이드 / Kotlin] 뒤로가기 두번 눌러서 종료하기 (0) | 2021.08.31 |
[안드로이드 / Kotlin] Array와 ArrayList 변환 (0) | 2021.08.31 |
[안드로이드 / Kotlin] 라디오버튼 Dialog (0) | 2021.08.31 |