Android----------Diglog对话框

 Dialog对话框有很多种,我这里主要讲了以下几种:

目录

普通对话框

列表对话框

单选列表对话框

多选列表对话框

半自定义对话框


普通对话框

 button1=findViewById(R.id.dialog1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog dialog = new AlertDialog.Builder(DialogActivity.this)
                        .setIcon(R.drawable.tuimg)//设置标题的图片
                        .setTitle("我是对话框")//设置对话框的标题
                        .setMessage("我是对话框的内容")//设置对话框的内容
                        //设置对话框的按钮
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(DialogActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
                                dialog.dismiss();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(DialogActivity.this, "点击了确定的按钮", Toast.LENGTH_SHORT).show();
                                dialog.dismiss();
                            }
                        }).create();
                dialog.show();

            }
        });

样式:

列表对话框

button2=findViewById(R.id.dialog2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String items[] = {"我是Item一", "我是Item二", "我是Item三", "我是Item四"};
                AlertDialog dialog = new AlertDialog.Builder(DialogActivity.this)
                        .setIcon(R.drawable.tuimg)//设置标题的图片
                        .setTitle("列表对话框")//设置对话框的标题
                        .setItems(items, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(DialogActivity.this, items[which], Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        }).create();
                dialog.show();

            }
        });

样式:

单选列表对话框

button3=findViewById(R.id.dialog3);
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String items[] = {"我是Item一", "我是Item二", "我是Item三", "我是Item四"};
                AlertDialog dialog = new AlertDialog.Builder(DialogActivity.this)
                        .setIcon(R.drawable.tuimg)//设置标题的图片
                        .setTitle("单选列表对话框")//设置对话框的标题
                        .setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(DialogActivity.this, items[which], Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        }).create();
                dialog.show();

            }
        });

样式:

 

多选列表对话框

button4=findViewById(R.id.dialog4);
        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String items[] = {"我是Item一", "我是Item二", "我是Item三", "我是Item四"};
                final boolean checkedItems[] = {true, true, true, true};
                AlertDialog dialog = new AlertDialog.Builder(DialogActivity.this)
                        .setIcon(R.drawable.tuimg)//设置标题的图片
                        .setTitle("多选对话框")//设置对话框的标题
                        .setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                                checkedItems[which] = isChecked;
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                for (int i = 0; i < checkedItems.length; i++) {
                                    if (checkedItems[i]) {
                                        Toast.makeText(DialogActivity.this, "选中了" + i, Toast.LENGTH_SHORT).show();
                                    }
                                }
                                dialog.dismiss();
                            }

                        }).create();

                dialog.show();

            }
        });

样式:

半自定义对话框

在这里面还定义了一个view

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<EditText
    android:id="@+id/dialog_edit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>

 通过下面的语句调用:

View view = getLayoutInflater().inflate(R.layout.half_dialog_view, null);
final EditText editText = (EditText) view.findViewById(R.id.dialog_edit);
 button5=findViewById(R.id.dialog5);
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //调用其他的xml文件
                View view = getLayoutInflater().inflate(R.layout.half_dialog_view, null);
                final EditText editText = (EditText) view.findViewById(R.id.dialog_edit);
                AlertDialog dialog = new AlertDialog.Builder(DialogActivity.this)
                        .setIcon(R.drawable.tuimg)//设置标题的图片
                        .setTitle("半自定义对话框")//设置对话框的标题
                        .setView(view)
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                String content = editText.getText().toString();
                                Toast.makeText(DialogActivity.this, content, Toast.LENGTH_SHORT).show();
                                dialog.dismiss();
                            }
                        }).create();
                dialog.show();

            }
        });

样式:

还有很多的对话框需要学习,下一篇文章继续介绍下一篇。

猜你喜欢

转载自blog.csdn.net/qq_62277763/article/details/129506816
今日推荐