需求分析:
1、默認在標題欄中顯示當前日期和時間
方法:
利用setTitle(String args)
給標題欄設置文本
利用Calendar類來獲取當前日期和時間
private Calendar calendar;
private int year, month, day, hour, min;
//獲取日曆對象
calendar = Calendar.getInstance();
//獲取日期時間
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
hour = calendar.get(Calendar.HOUR_OF_DAY);
min = calendar.get(Calendar.MINUTE);
//月份是從0開始,因此要加以1
setTitle(year + "-" + (month + 1) + "-" + day + " " + hour + ":" + min);
2、監聽日期時間選擇器,實時更新標題欄的信息
DatePicker和TimePicker使用
這兩個可以像TextView和Button一樣,直接作爲控件,拖拽到佈局中去,它們對應的監聽器分別是
1.DatePicker.OnDateChangedListener{
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
this.year = year;
this.month = monthOfYear;
this.day = dayOfMonth;
setTitle(year + "-" + (month + 1) + "-" + day + " " + hour + ":" + min);
}
}
2.TimePicker.OnTimeChangedListener{
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
this.hour = hourOfDay;
this.min = minute;
setTitle(year + "-" + (month + 1) + "-" + day + " " + hour + ":" + min);
}
}
注意DatePicker使用之前要進行初始化
datePicker.init(int year, int monthOfYear, int dayOfMonth,OnDateChangedListener onDateChangedListener)
DatePickerDialog和TimePickerDialog
這種方式其實在app中更爲常見也更爲美觀
方法也很簡單
//對話框形式的datepicker
new DatePickerDialog(this, this, year, month, day).show();
//對話框形式的timepicker
new TimePickerDialog(this, this, hour, min, true).show();
對應的監聽器爲:
1.DatePickerDialog.OnDateSetListener{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
this.year = year;
this.month = monthOfYear;
this.day = dayOfMonth;
setTitle(year + "-" + (month + 1) + "-" + day + " " + hour + ":" + min);
}
}
2.TimePickerDialog.OnTimeSetListener{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
this.hour = hourOfDay;
this.min = minute;
setTitle(year + "-" + (month + 1) + "-" + day + " " + hour + ":" + min);
}
}
注意
1、DatePicker對象需要init
2、要考慮month是否是從0開始算起,如果是要得到實際月份要加一