DatePickerDiaLog 在android 4.n的版本中,取消选择日期时,会调用onDateSet ,确认选择日期时会调用两次onDateSet(但在高版本中不会有此问题)。且同样使用Holo主题,4.n的版本与高版本的样式不一样,高版本会有取消按钮。故使用DatePick+AlertDialog来实现日期选择功能。
代码如下:
DatePicker date =
new DatePicker(OrderPickingActivity.
this);
date.setCalendarViewShown(
false);
date.init(
fromYear,
fromMonth-
1,
fromDay,
new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view,
int year,
int monthOfYear,
int dayOfMonth) {
}
});
AlertDialog.Builder mDatePickerDialogBuilder =
new AlertDialog.Builder(OrderPickingActivity.
this);
mDatePickerDialogBuilder.setView(
date);
mDatePickerDialogBuilder.setTitle(
"请选择日期");
mDatePickerDialogBuilder.setPositiveButton(
"确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//只有点击确定按钮时,才更改时间,并设置在文本中显示
fromYear =
date.getYear();
fromMonth =
date.getMonth()+
1;
fromDay =
date.getDayOfMonth();
setDateFrom();
}
});
mDatePickerDialogBuilder.setNegativeButton(
"取消",
null);
mDatePickerDialogBuilder.show();
下面是主题:
<
style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar">
<!--设置自定义的Title布局下面没有阴影-->
<
item name="android:windowContentOverlay">@null</
item>
<!--设置tabWidget的style-->
<
item name="android:tabWidgetStyle">@null</
item></
style>效果图:
转载请注明原文地址: https://ju.6miu.com/read-650325.html