如果日期选择器的最小日期早于当前日期时间,则 DatepickerDialog View 正常。 (第一张截图)
Calendar startDateCalendar = Calendar.getInstance();
DatePickerDialog datePickerDialog = new DatePickerDialog(this, null, startDateCalendar
.get(Calendar.YEAR), startDateCalendar.get(Calendar.MONTH),
startDateCalendar.get(Calendar.DAY_OF_MONTH));
DatePicker datePicker = datePickerDialog.getDatePicker();
Calendar max = Calendar.getInstance();
datePicker.setMinDate(max.getTimeInMillis() - 100);
datePickerDialog.show();
如果日期选择器的最小日期在当前日期时间之后,DatepickerDialog View 会在今天显示的 View 顶部添加一个 TextView 。 (第二张截图)
Calendar startDateCalendar = Calendar.getInstance();
DatePickerDialog datePickerDialog = new DatePickerDialog(this, null, startDateCalendar
.get(Calendar.YEAR), startDateCalendar.get(Calendar.MONTH),
startDateCalendar.get(Calendar.DAY_OF_MONTH));
DatePicker datePicker = datePickerDialog.getDatePicker();
Calendar max = Calendar.getInstance();
datePicker.setMinDate(max.getTimeInMillis() + 100);
datePickerDialog.show();
最佳答案
使用此代码:
DatePicker datePicker = datePickerDialog.getDatePicker();
datePicker.setMinDate(System.currentTimeMillis() + 100);
datePickerDialog.setTitle(null);
datePickerDialog.show();
快速解释:
setMinDate 设置对话框标题,我们需要取消设置
使用
System.currentTimeMillis()
比调用更复杂的Calendar.getInstance()
更高效
关于android - 在当前日期时间之后设置 Datepicker minDate 会添加一个在 DatePickerDialog 顶部显示今天的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38076908/