AlertDialog使用详解

AlertDialog使用详解

  1. 普通的对话框
final Builder builder = new AlertDialog.Builder(this);
btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle("普通对话框");
                builder.setMessage("这里是Message");

                builder.setPositiveButton("OK", new OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "点击OK", Toast.LENGTH_LONG).show();
                    }
                });

                builder.setNegativeButton("Cancel", new OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "点击Cancel", Toast.LENGTH_LONG).show();
                    }
                });
                builder.create().show();
            }
        });

效果图如下:
这里写图片描述

  1. 单选对话框
 final Builder builder = new AlertDialog.Builder(this);
btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle("单选对话框"); 

                 builder.setSingleChoiceItems(new String[]{"红色","黄色","蓝色"},0,//默认选中第一个
                 null);

                builder.create().show();
            }
        });

效果图如下:
这里写图片描述

3 多选对话框

 final Builder builder = new AlertDialog.Builder(this);
boolean[] b = new boolean[]{true, true, false};//初始化选中状态
btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle("多选对话框"); 

                         // 多选
                builder.setMultiChoiceItems(new String[]{"红色", "黄色", "蓝色"}, b, new OnMultiChoiceClickListener() {
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        Toast.makeText(getApplicationContext(), "" + b[0] + b[1] + b[2], 1000).show();
                    }
                });

                builder.create().show();
            }
        });

效果图如下:

这里写图片描述

4.自定义对话框:

 final Builder builder = new AlertDialog.Builder(this);
        btn4.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                final RelativeLayout inflate = (RelativeLayout) getLayoutInflater().inflate(R.layout.item, null);

                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle("自定义对话框");
                builder.setView(inflate);//自定义的布局view
                builder.setPositiveButton("OK", new OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {

                        EditText usernameET = (EditText) inflate.findViewById(R.id.editText1);
                        EditText pwdET = (EditText) inflate.findViewById(R.id.editText2);

                        Toast.makeText(
                            MainActivity.this,
                            usernameET.getText().toString() + ":" + pwdET.getText().toString(),
                            Toast.LENGTH_LONG).show();
                    }
                });

                builder.setNegativeButton("Cancel", new OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                });
                builder.create().show();

            }
        });

效果图如下:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值