这个问题在这里已经有了答案:
Restrict Range in Android DatePicker Custom Dialog
(3 个回答)
去年关闭。
我很想有一个选项,我可以使用 calendarConstraints 选择一个 maxDate 和一个 minDate。就像普通的 DatePicker 有 DatePicker.setMaxDate()
和 DatePicker.setMinDate()
方法,我会喜欢 materialDatePicker 的相同方法。
我在开发我的应用程序时使用了 materialDatePicker,我发现很难为打开的 datePicker 设置 minDate 和 maxDate 属性。我正在打开日期选择器以在 2 个不同的文本字段中选择开始日期和结束日期以添加特定时间段。
不,我不想选择范围日期。我已经研究过这个,它不符合我的要求。我可以设置一个 maxDate
使用
calendarConstraints.setValidator(DateValidatorPointForward.from(startDate))
但我无法使用 materialDatePicker 选择 minDate。
代码:
CalendarConstraints.Builder ccb=new CalendarConstraints.Builder();
// ccb.setEnd(calendar.getTimeInMillis());
// ccb.setEnd(today);
MaterialDatePicker.Builder<Pair<Long,Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
builder.setTitleText("Select Date Range");
builder.setCalendarConstraints(ccb.build());
最佳答案
您应该使用函数 DateValidatorPointBackward 来设置 maxDate。像这样的东西:
val constraintsBuilder = CalendarConstraints.Builder()
val validators: ArrayList<CalendarConstraints.DateValidator> = ArrayList()
validators.add(DateValidatorPointForward.from(minDate))
validators.add(DateValidatorPointBackward.before(maxDate))
constraintsBuilder.setValidator(CompositeDateValidator.allOf(validators))
关于android - 在 android studio 的 Material 日期选择器中禁用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60846772/