1.普通对话框
public void dialog1() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setIcon(R.mipmap.pdx);
builder.setMessage("你今天笑了吗?");
builder.setPositiveButton("笑了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "开心", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("没有", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "每天给自己一个微笑", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}
2.列表对话框
public void dialog2() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("列表对话框");
builder.setIcon(R.mipmap.pdx);
builder.setItems(strings, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, strings[which] + "的下标为" + which, Toast.LENGTH_SHORT).show();
}
});
final AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}
3.单选对话框
public void dialog3() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选对话框");
builder.setIcon(R.mipmap.pdx);
builder.setSingleChoiceItems(strings, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你选中的是" + strings[which] + "下标为" + which, Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
4.多选对话框
public void dialog4() {
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选对话框");
builder.setIcon(R.mipmap.pdx);
final boolean[] ids = new boolean[]{false, false, false};
builder.setMultiChoiceItems(strings, ids, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
Toast.makeText(MainActivity.this, "选择了" + strings[which], Toast.LENGTH_SHORT).show();
}
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
5.进度条对话框
public void dialog5() {
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("加载中······");
progressDialog.setIcon(R.mipmap.pdx);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(100);
progressDialog.onStart();
progressDialog.setCanceledOnTouchOutside(true);
progressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 1; i <= 100; i++) {
try {
Thread.sleep(100);
progressDialog.setProgress(i);
if (progressDialog.getProgress() == 100) {
progressDialog.dismiss();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
6.时间对话框
public void dialog6() {
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this, "时间为" + hourOfDay + ":" + minute, Toast.LENGTH_SHORT).show();
}
}, 00, 00, true);
timePickerDialog.show();
}
7.日期对话框
public void dialog7() {
Calendar calendar = Calendar.getInstance();
calendar.set(2020, 8 - 1, 15);
DatePickerDialog datePickerDialog = new DatePickerDialog(this, DialogInterface.BUTTON_NEGATIVE,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Toast.makeText(MainActivity.this, year + "年" + (month + 1) + "月" + dayOfMonth + "日", Toast.LENGTH_SHORT).show();
MainActivity.this.year = year;
MainActivity.this.month = month+1;
MainActivity.this.day = dayOfMonth;
}
}, year, month - 1, day);
datePickerDialog.show();
}
8.自定义对话框
public void dialog8() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = LayoutInflater.from(this).inflate(R.layout.item, null);
builder.setView(view);
TextView btn = view.findViewById(R.id.btn_1);
final AlertDialog alertDialog = builder.create();
alertDialog.show();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "自定义对话框里的按钮被点击了", Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}
});
}