0%

安卓日期时间控件

TimePicker与DatePicker

这两个东西比较简单,就是显示日期和显示时间的控件,属性啥的没什么太需要注意的。

日期控件

1
2
3
4
5
6
date.init(2020, 2, 8, new OnDateChangedListener() {//这里设置的是3月,这个月份比较特殊,是从0开始的
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Toast.makeText(MainActivity.this,year+"/"+monthOfYear +"/"+dayOfMonth , Toast.LENGTH_SHORT).show();
}
});

这里需要注意的就是,月份是从0开始算的,也就说我们设置的数+1就是显示的月份。

时间控件

1
2
3
4
5
6
7
time.setIs24HourView(true);
time.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this,hourOfDay+"/"+minute , Toast.LENGTH_SHORT).show();
}
});

时间控件就比较好说了,我们先设置是24小时制的,然后就可以这样正常运行了。

TimePickerDialog与DatePickerDialog

这两个就是两个对话框,让用户选择日期和时间的,用法基本是一样的。

1
2
3
4
5
6
7
8
9
if(Tpd == null)
Tpd = new TimePickerDialog(MainActivity.this,MyTime,13,30,true);
Tpd.show();

/**/

if(Dpd == null)
Dpd = new DatePickerDialog(MainActivity.this,MyData,2020,7-1,25);
Dpd.show();

这个MyTime,Mydate是我们上面申请的。
具体代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public  OnDateSetListener MyData = new OnDateSetListener()
{

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Toast.makeText(MainActivity.this, year+"/"+monthOfYear+"/"+dayOfMonth, Toast.LENGTH_SHORT).show();;
}

};


public OnTimeSetListener MyTime = new OnTimeSetListener()
{

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this, hourOfDay+"/"+minute, Toast.LENGTH_SHORT).show();;
}

};

我也是刚知道有这个样子的写法,学习了。