目录
单选对话框
//构建器
builder = new AlertDialog.Builder(MainActivity.this);
//选项
final String[] xuan2 = {"aaaa", "bbbb", "cccc", "dddd"};
//设置标题
builder.setTitle("选一个");
//设置图标
builder.setIcon(R.mipmap.ic_launcher);
//点击事件
builder.setSingleChoiceItems(xuan2, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText(xuan2[which]);
}
});
//设置确认按钮 取消按钮
setNegativeButton(builder);
setPositiveButton(builder);
AlertDialog alertDialog1 = builder.create();
//设置可见
alertDialog1.show();
多选对话框
//构建器
builder = new AlertDialog.Builder(MainActivity.this);
//标题
builder.setTitle("冰封");
//图标
builder.setIcon(R.mipmap.ic_launcher);
//数据源
final String[] xuan = {"aaaa", "bbbb", "cccc", "dddd"};
//是否被选中
final boolean[] flag = {false, false, false, false, false};
//点击事件
builder.setMultiChoiceItems(xuan, flag, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
flag[which] = isChecked;
}
});
setPositiveButton(builder);
setNegativeButton(builder);
AlertDialog alertDialog2 = builder.create();
alertDialog2.show();
自定义对话框
builder = new AlertDialog.Builder(MainActivity.this);
//设置标题
builder.setTitle("自定义");
//设置图标
builder.setIcon(R.mipmap.ic_launcher);
//设置定义对话框的布局文件 并且设置点击事件
builder.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, xuan3), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "" + xuan3[which], Toast.LENGTH_SHORT).show();
}
});
setPositiveButton(builder);
setNegativeButton(builder);
AlertDialog alertDialog3 = builder.create();
alertDialog3.show();
日期对话框
Calendar instance = Calendar.getInstance();
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
}
}, instance.get(Calendar.HOUR), instance.get(Calendar.MINUTE), true).show();
break;
case R.id.bt_09:
Calendar calendar=Calendar.getInstance();
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
}
},calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
自定义对话框
View inflate = LayoutInflater.from(this).inflate(R.layout.login, null);
final EditText name = inflate.findViewById(R.id.et_01);
final EditText pass = inflate.findViewById(R.id.et_02);
EditText phone = inflate.findViewById(R.id.et_03);
new AlertDialog.Builder(this)
.setIcon(R.mipmap.ic_launcher)
.setTitle("自定义view对话框")
.setView(inflate)
.setPositiveButton("登陆", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.e(name.getText().toString(),pass.getText().toString());
}
})
.setNeutralButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.create()
.show();
水平进度对话框
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(100);
progressDialog.setProgress(0);
progressDialog.setMessage("加载中");
progressDialog.show();
/**
* 计时器
*/
new CountDownTimer(11000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
progressDialog.setProgress(curr += 10);
}
@Override
public void onFinish() {
progressDialog.setMessage("已完成");
progressDialog.dismiss();
}
}.start();
普通对话框
builder = new AlertDialog.Builder(MainActivity.this)
.setTitle("哈哈哈")
.setIcon(R.mipmap.ic_launcher)
.setMessage("对话框内容\n第二行内容")
.setCancelable(false);
builder.setNegativeButton("消极", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("取消");
}
});
builder.setNeutralButton("中性", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("中性");
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("确定");
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();