这三个Dialog都是AlertDialog的子类。
①DatePickerDialog
1.创建DatePickerDialog的实例;
2.通过Calendar类获得系统时间;
3.通过DatePickDialog.OnDateSetListener()来绑定监听器;
4.通过onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth)来获取时间;
5.调用show()方法展示。
public void dateBn(View v)
{
Calendar calendar = Calendar.getInstance();
new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
String text = "您选择了: " + year + "年" + (month + 1) + "月" + dayOfMonth + "日";
Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
}
},
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)).show();
}
这里是对按键声明了一个dateBn的方法,在这里将方法实现了。
②TimePickerDialog
1.创建TimePickerDialog的实例;
2.通过Calendar类获得系统时间;
3.通过TimePickDialog.OnTimeSetListener()来绑定监听器;
4.通过onTimeSet(TimePicker TimePicker, int minute)来获取时间;
5.调用show()方法展示。
Button timeBn = (Button)findViewById(R.id.timeBn);
timeBn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Calendar calendar = Calendar.getInstance();
new TimePickerDialog(MainActivity.this,
new TimePickerDialog.OnTimeSetListener()
{
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute)
{
EditText show = (EditText)findViewById(R.id.edit);
show.setText("您选择了: " + hourOfDay + "时" + minute + "分");
}
},
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
true).show();
}
});
这里绑定了一个按钮的点击事件,确认之后会在EditText中显示出选择的具体的时间。
③ProgressDialog
Button timeBn = (Button)findViewById(R.id.timeBn);
//progressDialog对应的按钮
final Button progress = (Button)findViewById(R.id.progressBn);
progress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("✪ω✪|任务进行中|✪ω✪");
progressDialog.setMessage("(´・ω・`)请稍后(´・ω・`)");
//设置为可以取消
progressDialog.setCancelable(true);
//设置为转圈
//progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.show();
}
});
设置为圆圈形式的进度条
设置为水平方向的进度条