Android里AlertDialog多种使用方法及DEMO

AlertDialog

我们在使用Android的APP时经常会点击某个按钮弹出来选择的对话框提供选项,选择的对话框也可以分为多样,如确定取消类型,单选类型,复选类型,列表类型等.在Android中实现这个我们都可以用到AlterDialog进行实现.

先上一段视频看看Demo实现的效果:


DEMO编码

首先我们新建一个工程,名字可以自己起

布局文件Layout

然后在layout的布局文件里面加入4个Button按钮

效果如下:

代码文件

我们在代码文件里定义两个数组

用于处理多选的对话框选择结果

AlertDialog的创建基本方法:

通过构造器(AlertDialog.Builder)来构造标题、图标和按钮等内容的。

  1. 创建构造器AlertDialog.Builder的对象;

  2. 通过构造器的对象调用setTitle、setMessage等方法构造对话框的标题、信息和图标等内容;

  3. 根据需要,设置正面按钮、负面按钮和中立按钮;

  4. 调用create方法创建AlertDialog的对象;

  5. AlertDialog的对象调用show方法,让对话框在界面上显示。

AlertDialog.Builder自己也有一个show方法,可以显示对话框,所以上面的第4、第5步可以简化为一步。

基本实现代码:

        //带列表的对话框
        Button btn2 = (Button) findViewById(R.id.button2);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                final String[] items = new String[]{"跑步", "游泳", "羽毛球", "乒乓球", "网球"};

                //创建构造器

                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

                //设置AlertDialog的显示图标

                builder.setIcon(R.mipmap.ic_launcher);

                //设置AlertDialog的显示标题

                builder.setTitle("请选择你喜欢的运动项目:");
                //在AlertDialog里面添加列表项,第二个参数就是直接写了点击事件
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "你选择了" + items[i], Toast.LENGTH_SHORT).show();
                    }
                });

                //把我们整个AlertDialog的构造器创建并显示出来

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

对话框AlertDialog

要加上setMessage为显示的内容,然下setbutton是设置增加的按钮及写入对应的事件

设置单选的列表AlertDialog

需要用到setSingleChoiceItems

设置多选的列表AlertDialog

需要用到setMultiChoiceItems

我们在前面定义的checkitems的数组用于记录选择时候是否为选中状态

然后在确定按钮的时候遍历选中状态来找到对应的我们选择的项目.

这样就完成了,非常简单!!


Demo的例子网盘下载地址:

链接:https://pan.baidu.com/s/1mLgPPfsEAZR5eC3BDygHWA 密码:phuq

-END-

长按下方二维码关注

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值