一款简单好用的日期选择器DatePickerDialog,实现比较简单,个人实现后当做笔记保存下来
直接上代码:
第一步,请在app下 build.gradle 中添加依赖
compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'
第二步,布局文件
<TextView android:id="@+id/mydata_birthday" android:hint="点击选择日期" android:layout_width="wrap_content" android:layout_height="wrap_content" />第三步,直接添加点击事件,调用日期选择器相关方法
showDateDialog()是点击事件中自定义的方法
注意,本人在调用显示时,点击一月份出现显示为0月,所以需要在原有月份基础上+1
private DatePickerDialog mDatePickerDialog; //选择日期控件调用的方法 private void showDateDialog() { if (mDatePickerDialog == null){//如果对象为空才创建,不为空则直接显示 //创建日历对象 Calendar instance = Calendar.getInstance(); mDatePickerDialog = DatePickerDialog.newInstance(new MyDateListener(), instance.get(Calendar.YEAR), //通过日历对象获取年 instance.get(Calendar.MONTH), //通过日历对象获取月 instance.get(Calendar.DAY_OF_MONTH), //通过日历对象获取日 true);//点击是否震动(如果需要振动,请记得添加振动权限,不然点击会报错)false表示不振动 mDatePickerDialog.setYearRange(startDate,endDate);//设置日期年限范围,max范围小于2037 }else { mDatePickerDialog.show(getSupportFragmentManager(),""); } } private int mMonth = 0; private class MyDateListener implements DatePickerDialog.OnDateSetListener { @Override public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) { mMonth = month + 1;//日期显示时,月份比正常月份少1个月,需要在越来基础上加1 mMydataBirthday.setText(year + "年" + mMonth + "月" + day + "日");//显示要显示的地方 } }