Android中常见的对话框
引用 https://www.cnblogs.com/wanghaoyuhappy/p/5292815.html
1. 普通对话框
1 public void click01(View view){
2 AlertDialog.Builder builder = new AlertDialog.Builder(this);//内部类
3 builder.setTitle("友情提示");
4 builder.setMessage("您确定要删除吗?");
5 //确定按钮
6 builder.setPositiveButton("确定", new OnClickListener() {
7
8 @Override
9 public void onClick(DialogInterface dialog, int which) {
10 //确定删除的代码
11 Toast.makeText(MainActivity.this, "删除成功", 0).show();
12 }
13 });
14 //点取消按钮
15 builder.setNegativeButton("取消", null);
16
17 //显示对话框
18 //AlertDialog dialog = builder.create();
19 //dialog.show();
20 //或者简单点
21 builder.show();
22 }
显示的效果:

2. 单选对话框
1 public void click02(View view){
2 AlertDialog.Builder builder = new AlertDialog.Builder(this);
3
4 final String[] items = {"男","女","其他"};
5
6 builder.setSingleChoiceItems(items, 0, new OnClickListener() {
7
8 @Override
9 public void onClick(DialogInterface dialog, int which) {
10 String item = items[which];
11 Toast.makeText(MainActivity.this, "您选择的是: "+ item, 0).show();
12 }
13 });
14
15 //显示对话框
16 builder.show();
17 }
显示的效果:

3. 多选对话框
public void click03(View view){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final String[] items = {"篮球","乒乓球","羽毛球","台球","玻璃球"};
boolean[] checkedItems = {true,false,false,true,false};
builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
String item = items[which];
Toast.makeText(MainActivity.this, "您选择的爱好是: "+ item+",状态是: "+isChecked, 0).show();
}
});
//显示
builder.show();
}
显示的效果:

4. 不带进度条的对话框
1 public void click04(View view){
2 final ProgressDialog pd = ProgressDialog.show(this, "不带进度条", "一大波美女袭来");
3 new Thread(){
4 public void run() {
5 SystemClock.sleep(2000);
6 pd.dismiss();
7 };
8 }.start();
9 }
显示的效果:

5. 带进度条的对话框
1 public void click05(View view){
2 final ProgressDialog pd = new ProgressDialog(this);
3 //设置水平的进度条样式
4 pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
5 pd.setMax(100);
6 pd.show();
7 new Thread(){
8 public void run() {
9 for (int i = 0; i < 100; i++) {
10 SystemClock.sleep(50);
11 pd.setProgress(i);
12 }
13 pd.dismiss();
14 };
15 }.start();
16 }
显示的效果:



浙公网安备 33010602011771号