这两种对话框是我个人认为比较实用的

1、半自定义Dialog


AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("弹出对话框");//设置对话框的标题
dialog.setIcon(R.drawable.ic_launcher_background);//设置对话框的图标
//这是半自定义对话框,所以可以通过 LayoutInflater引用自定义布局
LayoutInflater layoutInflater=LayoutInflater.from(this);
View view = layoutInflater.inflate(R.layout.dialog, null);
dialog.setView(view);//将自定义布局设置进dialog
//可以通过findViewById找到控件进行设置
final EditText etUserName=view.findViewById(R.id.etUserName);
final EditText edPass=view.findViewById(R.id.etpass);
//在对话框内设置按钮并添加点击事件
dialog.setPositiveButton("取消", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {

    }
});
dialog.setNegativeButton("登陆", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        edPass.getText();
        etUserName.getText();
    }
});
dialog.setCancelable(false);//设置不可以通过返回键取消对话框
dialog.show();//显示对话框

效果图:

2、等待的Dialog


ProgressDialog dialog=new ProgressDialog(this);
                dialog.setMessage("正在加载");
                dialog.setButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                dialog.setCancelable(false);
                dialog.show();

效果图:


学习永不止步