这里我有一个
DateRangePicker
使用 材质库。
val dateRangePicker =
MaterialDatePicker.Builder.dateRangePicker()
.setTitleText(getString(R.string.calendar_select_dates))
.setSelection(...)
.build()
如何设置 minDate 和 maxDate 以显示 minDate 之间的唯一范围<...
这里是设置最小和最大日期以限制两个日期之间的日期选择器的示例代码。
private fun showDatePickerDialog() {
val constraintsBuilder = CalendarConstraints.Builder()
// Set the minimum selectable date to a specific date (e.g., January 1, 2000).
val calendar = Calendar.getInstance()
val min = calendar.timeInMillis
constraintsBuilder.setStart(min)
calendar.add(Calendar.DAY_OF_MONTH, 10)
val max = calendar.timeInMillis
constraintsBuilder.setEnd(max)
val listValidators =
arrayListOf(DateValidatorPointForward.from(min), DateValidatorPointBackward.before(max))
constraintsBuilder.setValidator(CompositeDateValidator.allOf(listValidators))
val datePickerBuilder = MaterialDatePicker.Builder.datePicker().apply {
setTitleText(getString(R.string.app_name))
setCalendarConstraints(constraintsBuilder.build())
// Set the initial date to the current date
val currentTimeMillis = Calendar.getInstance().timeInMillis
setSelection(currentTimeMillis)
setInputMode(MaterialDatePicker.INPUT_MODE_CALENDAR)
}
val datePicker = datePickerBuilder.build()
datePicker.addOnPositiveButtonClickListener { selection ->
// Get selected date
}
// Don't forget to show the dialog
datePicker.show(supportFragmentManager, "datePicker")
}