PopupWindow和AlertDialog的使用

本文详细介绍了PopupWindow和AlertDialog在Android应用开发中的使用方法及区别。通过实例展示了如何创建带有不同按钮类型的AlertDialog,并对比了两者在阻塞特性、覆盖范围及应用场景上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. PopupWindow的使用

 

2.AlertDialog的使用

alert = null;

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

                alert = builder.setIcon(R.mipmap.ic_icon_fish)

                        .setTitle("系统提示:")

                        .setMessage("这是一个最普通的AlertDialog,\n带有三个按钮,分别是取消,中立和确定")

                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {

                            @Override

                            public void onClick(DialogInterface dialog, int which) {

                                Toast.makeText(mContext, "你点击了取消按钮~", Toast.LENGTH_SHORT).show();

                            }

                        })

                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {

                            @Override

                            public void onClick(DialogInterface dialog, int which) {

                                Toast.makeText(mContext, "你点击了确定按钮~", Toast.LENGTH_SHORT).show();

                            }

                        })

                        .setNeutralButton("中立", new DialogInterface.OnClickListener() {

                            @Override

                            public void onClick(DialogInterface dialog, int which) {

                                Toast.makeText(mContext, "你点击了中立按钮~", Toast.LENGTH_SHORT).show();

                            }

                        }).create();             //创建AlertDialog对象

                alert.show();                    //显示对话框

 

 

 

自定义

//初始化Builder

        builder = new AlertDialog.Builder(mContext);

 

        //加载自定义的那个View,同时设置下

        final LayoutInflater inflater = MainActivity.this.getLayoutInflater();

        view_custom = inflater.inflate(R.layout.view_dialog_custom《自己写个布局》, null,false);

        builder.setView(view_custom);

        builder.setCancelable(false);

        alert = builder.create();

//展示

//取消 

PopupWindowAlertDialog的区别:

(1)都可以拥有自己的布局;

(2)PopUPwindow是属于阻塞式的窗口:当窗口弹出的时候,窗口所在的应用程序处于等待状态;

(3)AlertDialog是属于非阻塞式窗口:当弹出对话框的时候,对话框所在的本身的应用程序依然处于运行中的状态;

(4)PopupWindow的覆盖面只是当前的窗口(5)AlertDialog的覆盖面是整个屏幕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值