前言
话说日期时间选择控件许多项目都会用到,今天小可不才,也发一个自己写的日期选择控件
先上图
CC8V2$(JPZ`{WT42ICK7F}K.png
demo.gif
1、首先自定义日期选择工具类
里面注释比较详细,我就不在这里一一赘述了。
/**
* 日期时间选择控件 使用方法: private EditText inputDate;
* 需要设置的日期时间文本编辑框 private String initDateTime="2012年9月3 日 14:44",初始日期时间值
* 在点击事件中使用: inputDate.setOnClickListener(new OnClickListener()
*/
public class DatePickerDialogUtil implements OnDateChangedListener,
OnTimeChangedListener {
/** 日期选择 */
private DatePicker mDateChoose;
/** 时间选择 */
private TimePicker mTimeChoose;
/** 对话框 */
private AlertDialog mDialog;
/** 设置时间 */
private String mDateTime;
/** 初始化时间 */
private String mInitDateTime;
private final SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy年MM月dd日 HH:mm:ss");
/** 显示时间 */
private String showDate;
/** Activity对象 */
private final Activity mActivity;
/**
* 日期时间弹出选择框函数
*
* @param activity
* 调用父Activity
* @param dateTime
* 初始日期时间值,作为弹出窗口的标题和日期时间初始值
*/
public DatePickerDialogUtil(Activity activity, String dateTime) {
this.mActivity = activity;
this.mInitDateTime = dateTime;
}
/**
* 初始化时间日期
*
* @param datePicker
* 日期
* @param timePicker
* 时间
*/
public void init(DatePicker datePicker, TimePicker timePicker) {
// 初始化Calendar
Calendar calendar = Calendar.getInstance();
// datePicker不等于空,并且初始化时间不为空
if (!(datePicker == null || "".equals(mInitDateTime))) {
} else {
mInitDateTime = calendar.get(Calendar.YEAR) + "年"
+ calendar.get(Calendar.MONTH) + "月"
+ calendar.get(Calendar.DAY_OF_MONTH) + "日"