如果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();

android - 在当前日期时间之后设置Datepicker minDate会在DatePickerDialog顶部添加今天显示的文本-LMLPHP
android - 在当前日期时间之后设置Datepicker minDate会在DatePickerDialog顶部添加今天显示的文本-LMLPHP

最佳答案

使用此代码:

DatePicker datePicker = datePickerDialog.getDatePicker();
datePicker.setMinDate(System.currentTimeMillis() + 100);
datePickerDialog.setTitle(null);
datePickerDialog.show();

快速解释:
setmindate设置对话框标题,我们需要取消设置
使用System.currentTimeMillis()比调用更复杂的Calendar.getInstance()更有效

10-07 19:14
查看更多