调用Android原生日期选择器对话框就是DatePickerDialog,具体内容如下
在Android4.4系统上效果如图:
在Android5.0以上效果如图:
1、Activity的onCreate方法中获取当时的年,月,日
Calendar ca = Calendar.getInstance();
mYear = ca.get(Calendar.YEAR);
mMonth = ca.get(Calendar.MONTH);
mDay = ca.get(Calendar.DAY_OF_MONTH);
2、通过按钮触发日期选择器
btn_day.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO 调用时间选择器
new DatePickerDialog(MainActivity.this, onDateSetListener, mYear, mMonth, mDay).show();
}
});
3、实现选择器的监听,并将获取到的结果设置到TextView上:
/**
* 日期选择器对话框监听
*/
private DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
String days;
if (mMonth + 1 < 10) {
if (mDay < 10) {
days = new StringBuffer().append(mYear).append("年").append("0").
append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
} else {
days = new StringBuffer().append(mYear).append("年").append("0").
append(mMonth + 1).append("月").append(mDay).append("日").toString();
}
} else {
if (mDay < 10) {
days = new StringBuffer().append(mYear).append("年").
append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
} else {
days = new StringBuffer().append(mYear).append("年").
append(mMonth + 1).append("月").append(mDay).append("日").toString();
}
}
tv_data.setText(days);
}
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。