移动安卓端AlertDialog的工具类

移动安卓端AlertDialog的工具类

前言:在我们学习安卓的入门阶段时,我们就已经会接触到安卓上的对话提示框AlertDialog,安卓原生的对话框是一个非常简单直白的一个对话框。那么当我们在实际的开发过程中,必定需要不同种类的对话提示框时,我们又该如何操作呢。此外AlertDialog的很多代码我们可以通过提前封装的方式,减少在页面中的代码量,使页面更加整洁,所以我们需要一个封装好的AlertDialog工具类来处理这些繁琐的事情。

1. 无标题基础对话框
这种是我们最基本见识到的对话提示框,主要用于给到用户一个不可忽略的提示作用,上代码:

//无标题基础对话框
public static AlertDialog showBasicNoTitle(Context context, String message, final MyDialogOnClickListener myDialogOnClickListener) {
        AlertDialog alertDialog = new AlertDialog.Builder(context)
                .setMessage(message)
                .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (myDialogOnClickListener != null)
                            myDialogOnClickListener.onConfirm();
                    }
                })
                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (myDialogOnClickListener != null)
                            myDialogOnClickListener.onCancel();
                    }
                })
                .create();
        alertDialog.show();
        return alertDialog;
    }
   
 /**
  * Dialog按钮点击事件接口.
  */
    public interface MyDialogOnClickListener {
        void onCancel();
        void onConfirm();
    }

//**********************************//
//需要调用时
 DialogUtil.showBasicNoTitle(this, "这里可以输入想要的内容", new DialogUtil.MyDialogOnClickListener() {
            @Override
            public void onCancel() {
                 //点击取消后执行的逻辑
            }

            @Override
            public void onConfirm() {
                 //点击确定后执行的逻辑
            }
        });

效果图:
在这里插入图片描述

2. 有标题的基本对话框
这类对话框会增加一行标题行,能给到用户更好的交互效果

//有标题的基本对话框
public static AlertDialog showBasic(Context context, String title, String message, final MyDialogOnClickListener myDialogOnClickListener) {
        AlertDialog alertDialog =new AlertDialog.Builder(context)
                .setTitle(title)
                .setMessage(message)
                .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (myDialogOnClickListener != null)
                            myDialogOnClickListener.onConfirm();
                    }
                })
                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        if (myDialogOnClickListener != null)
                            myDialogOnClickListener.onCancel();
                    }
                })
                .create();
        alertDialog.show();
        return alertDialog;
    }
    
/**
 * Dialog按钮点击事件接口.
 */
    public interface MyDialogOnClickListener {
        void onCancel();
        void onConfirm();
    }

//**********************************//
//需要调用时
DialogUtil.showBasic(this,"随便一个标题", "这里可以输入想要的内容", new DialogUtil.MyDialogOnClickListener() {
            @Override
            public void onCancel() {
                 //点击取消后执行的逻辑
            }

            @Override
            public void onConfirm() {
                 //点击确定后执行的逻辑
            }
        });

效果图:
在这里插入图片描述
3. 自定义按钮名称的基本对话框
这类对话框可以自定义下方“确定”和“取消”按钮的名称,已方便适用于不同的业务场景

//自定义按钮名称的基本对话框
public static AlertDialog showBasic(Context context, String title, String message,String confirm,String cancel,final MyDialogOnClickListener myDialogOnClickListener) {
    AlertDialog alertDialog =new AlertDialog.Builder(context)
            .setTitle(title)
            .setMessage(message)
            .setPositiveButton(confirm, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    if (myDialogOnClickListener != null)
                        myDialogOnClickListener.onConfirm();
                }
            })
            .setNegativeButton(cancel, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    if (myDialogOnClickListener != null)
                        myDialogOnClickListener.onCancel();
                }
            })
            .create();
    alertDialog.show();
    return alertDialog;
}

/**
 * Dialog按钮点击事件接口.
 */
    public interface MyDialogOnClickListener {
        void onCancel();
        void onConfirm();
    }

//**********************************//
//需要调用时
DialogUtil.showBasic(this,"随便一个标题", "这里可以输入想要的内容","用户同意的按钮",
                "用户不同意的按钮",new DialogUtil.MyDialogOnClickListener() {
            @Override
            public void onCancel() {
                 //点击取消后执行的逻辑
            }

            @Override
            public void onConfirm() {
                 //点击确定后执行的逻辑
            }
        });

效果图:
在这里插入图片描述
目前先更新这几种对话框,后面会放上一些操作性的对话框,比如带输入框的对话框,单选对话框,多选对话框,带图标,进度条对话框等等,尽情期待!

AlertDialog类是Android中用于创建对话框的一个类。它允许我们以模态(modal)的形式显示一些信息或提示用户进行一些操作。 AlertDialog类继承自Dialog类,因此可以使用Dialog类中的方法和属性,例如setTitle()、setCancelable()等。 要创建一个AlertDialog,需要先创建一个AlertDialog.Builder对象,然后使用该对象的方法设置对话框的标题、消息、按钮等属性。最后,调用AlertDialog.Builder对象的create()方法来创建AlertDialog。 下面是一个简单的示例代码,用于创建一个包含“确定”和“取消”按钮的AlertDialog: ``` AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("确认删除"); builder.setMessage("确定要删除这个文件吗?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 用户点击确定按钮的处理代码 } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 用户点击取消按钮的处理代码 } }); AlertDialog dialog = builder.create(); dialog.show(); ``` 在上面的示例中,我们首先创建了一个AlertDialog.Builder对象,设置了对话框的标题和消息。然后我们使用setPositiveButton()和setNegativeButton()方法设置了两个按钮,并在点击这些按钮时执行相应的处理代码。最后,我们使用create()方法创建了AlertDialog对象,并调用show()方法显示对话框。 除了上面的两个按钮,AlertDialog还支持设置中立按钮(setNeutralButton()方法)、自定义视图(setView()方法)等功能。通过这些方法,我们可以创建出各种不同样式和功能的对话框。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LeeBrook0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值