int mYear, mMonth, mDay;
//时间选择,在点击事件中调用就可以了 public void setDate(){ //点击"日期"按钮布局 设置日期 final Calendar ca = Calendar.getInstance(); mYear = ca.get(Calendar.YEAR); mMonth = ca.get(Calendar.MONTH); mDay = ca.get(Calendar.DAY_OF_MONTH); //通过自定义控件AlertDialog实现 AlertDialog.Builder builder = new AlertDialog.Builder(InPositioningPartActivity.this); View view = (LinearLayout) getLayoutInflater().inflate(R.layout.date_dialog, null); final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker); //设置日期简略显示 否则详细显示 包括:星期\周 datePicker.setCalendarViewShown(false); //初始化当前日期 Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), null); //设置date布局 builder.setView(view); builder.setTitle("设置日期信息"); builder.setPositiveButton("确 定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //日期格式 StringBuffer sb = new StringBuffer(); sb.append(String.format("%d-%02d-%02d", datePicker.getYear(), datePicker.getMonth() + 1, datePicker.getDayOfMonth())); mInposiFeta.setText(sb);//将时间返回到textview上 //赋值后面闹钟使用 mYear = datePicker.getYear(); mMonth = datePicker.getMonth(); mDay = datePicker.getDayOfMonth(); dialog.cancel(); } }); builder.setNegativeButton("取 消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.create().show(); } }
//弹窗布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <DatePicker android:datePickerMode="spinner" android:calendarViewShown="false" android:id="@+id/date_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:layout_gravity="center" > </DatePicker> </LinearLayout>