这三个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();
}
});
设置为圆圈形式的进度条
设置为水平方向的进度条