#.概述
Android系统提供的所有对话框类都继承自Dialog类,一般用到的是AlertDialog。
系统本身提供了AlertDialog的一些样式、也提供了AlertDialog的一些子类Dialog用于某些具体功能,除此之外用户还可自定义AlertDialog的样式。
#.分类与常见用法
这边剪藏写得特别好,条理清晰明确、而且要点基本都包含在内:Android对话框(Dialog)完全使用手册 - 简书
1.共有5种样式的AlertDialog,示例代码和说明如下:
AlertDialog.Builder builder = new Builder(mContext);
builder.setTitle("标题”) //设置标题
.setIcon(R.drawable.btn_star) //设置标题栏左上角图标
//不同样式的AlertDialog,其它api调用相同,只有内容区的设置方法不同
.setMessage(“内容区文案”) //样式1:内容区做文案展示
.setItems(new String[] { "Item1", "Item2" }, null) //样式2:内容区显示列表
.setSingleChoiceItems( //样式3:内容区是单项选择列表
new String[] { "Item1", "Item2" }, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setMultiChoiceItems(new String[] { "Item1", "Item2" }, null, null) //样式4:内容区是多项选择列表
.setView(【自己写的View】) //样式5:Dialog展示的界面自定义
//下面这三个按钮对应的方法,不设置时,对应按钮是不展示的;
.setPositiveButton(“左侧确认按钮文案", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
xxxxxxxxx//业务逻辑
dialog.dismiss(); //该api隐藏Dialog
}
}).setNegativeButton("右侧取消按钮文案", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
xxxxxxxxx//业务逻辑
dialog.dismiss();
}
})
.setNeutralButton("中间按钮文案", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
xxxxxxxxx//业务逻辑
dialog.dismiss();
}
})
//设置Dialog隐藏时触发的回调方法
.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismis