最佳答案
有了适用于 Android 的默认 Material 组件,您可以使用新的 MaterialDatePicker。您可以在其中获得单个日期选择以及日期范围选择。
将以下内容添加到您的 build.gradle
implementation 'com.google.android.material:material:1.2.0 alpha02'
调用以下打开日期范围选择器的方法
private fun setupRangePickerDialog() {
val builder:MaterialDatePicker.Builder<*> =MaterialDatePicker.Builder.dateRangePicker()
val constraintsBuilder = CalendarConstraints.Builder()
try {
builder.setCalendarConstraints(constraintsBuilder.build())
val picker:MaterialDatePicker<*> =builder.build()
getDateRange(picker)
picker.show(supportFragmentManager, picker.toString())
} catch (e:IllegalArgumentException){
}
}
下面是获取开始和结束日期的方法
private fun getDateRange(materialCalendarPicker:MaterialDatePicker<out Any>) {
materialCalendarPicker.addOnPositiveButtonClickListener({
selection:Any ? ->
Log.e("DateRangeText", materialCalendarPicker.headerText)})
materialCalendarPicker.addOnNegativeButtonClickListener({
dialog:View ? ->})
materialCalendarPicker.addOnCancelListener({
dialog:DialogInterface ? ->})
}
恭喜,你完成了!
关于android - 自定义日历日期范围滑动选择android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36128738/