【发布时间】:2015-02-20 10:15:55
【问题描述】:
我想在 DialogFragment 中显示 DatePicker:
public class DatePickerDialogFragment extends DialogFragment {
private OnDateSetListener dateSetListener = null;
private String title = null;
public DatePickerDialogFragment() {}
public DatePickerDialogFragment(OnDateSetListener dateSetListener, String title) {
this.dateSetListener = dateSetListener;
this.title = title;
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this.getActivity(), this.dateSetListener, year, month, day);
datePickerDialog.getDatePicker().setCalendarViewShown(false);
datePickerDialog.setTitle(this.title);
return datePickerDialog;
}
}
很遗憾,datePickerDialog.getDatePicker().setCalendarViewShown(false); 被完全忽略了。我讨厌日历视图,因为它丑陋且不舒服。那么如何禁用它呢?
【问题讨论】:
-
尝试在xml中设置
android:calendarViewShown="false" android:datePickerMode="spinner" -
我以编程方式初始化我的日期选择器,它应该保持这样。以编程方式初始化时没有设置 datePickerMode 的选项
-
您设置了
datePickerDialog.getDatePicker().setCalendarViewShown(false);,这不适用于 API -
我只支持Api 17及以上。只有版本 21 显示日历。其他版本没有。
标签: android datepicker