首先摘抄一段关于日期选择器的属性以及效果图(在普通布局上显示的)
日期选择器常用属性 :
-- 显示日历 : android:calendarViewShown, 是否显示CalendarView日历组件;
-- 选择最后 : android:endYear, 该选择器是否允许选择最后一年;
-- 最大日期 : android:maxDate, 设置日期选择器的最大日期, 格式 mm/dd/yyyy;
-- 最小日期 : android:minDate, 设置日期选择器的最小日期, 格式 mm/dd/yyyy;
-- 选择组件 : android:spinnerShown, 是否显示Spinner组件;
-- 选择首年 : android:startYear, 是否允许选开始的年
效果图 :
http://www.2cto.com/kf/201401/273330.html
下面我利用日期选择器,在对话框中实现它
大致就是在标题栏和按钮之间显示View
如下
布局dialog_date.xml
<?xml version="1.0" encoding="utf-8"?> <DatePicker xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dialog_date_datePicker" android:layout_width="match_parent" android:layout_height="match_parent" android:calendarViewShown="false"> </DatePicker>
public class DatePickerFragment extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { View v=getActivity().getLayoutInflater().inflate(R.layout.dialog_date,null); return new AlertDialog.Builder(getActivity()).setView(v).setTitle(R.string.date_picker_title).setPositiveButton(android.R.string.ok,null).create(); } }
mDateButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FragmentManager fm=getActivity().getSupportFragmentManager(); DatePickerFragment dialog=new DatePickerFragment(); dialog.show(fm,DIALOG_DATE); } });