如果DatePicker的最小日期早于当前DateTime DatePickerDialog视图正常。(第一张截图)
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的最小日期在当前DateTime DatePickerDialog视图之后,则会在显示今天的视图的顶部添加一个文本视图。(第二张截图)
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()
更有效