持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
前面我们介绍了 Android 开发过程中必须需要掌握的控件,那么今天我们继续来介绍日常使用过程中必须要掌握的一个控件 AlertDialog 提醒对话框。
我们在日常开发过程中经常会遇到需要与用户进行交互的一些操作,比如提醒相关信息给用户,需要用户确认的功能,需要用户选择的功能,需要告知用户等一系列操作。那么这些功能我们都可以借助 AlertDialog 来完成。
AlertDialog 基本使用
首先我们先来分析一下 AlertDialog 的基本结构。
我们看到一个 AlertDialog 大致由四部分组成:
- 标题文本
- 内容文本
- 确认按钮
- 取消按钮
下面我们来实现一个 AlertDialog :
我们先来构建一个页面(一个文本控件用以显示内容,一个按钮控件用以触发弹出事件)
给按钮添加监听器,并构建 AlertDialog,由于 AlertDialog 没有公开的构造方法,所以必须要借助构造器 AlertDialog.Builder 才能完成参数的设置。
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("标题");
builder.setMessage("内容");
builder.setPositiveButton("确定", (dialog, which) ->{
//点击确定按钮相应操作
alert_t1.setText("点击了确定");
});
builder.setNegativeButton("取消", (dialog, which) ->{
//点击取消按钮相应操作
alert_t1.setText("点击了取消");
});
builder.create().show();
}
来看上面我们用到的几个 AlertDialog.Builder 配置的说明:
- setTitle,设置对话框的标题文本
- setMessage,设置对话框的内容文本
- setPositiveButton,设置肯定按钮的文本以及监听器
- setNegativeButton,设置取消按钮的文本以及监听器
其中 setPositiveButton、setNegativeButton 方法 我这里用了Lambda来简化了,没简化的如下:
builder.setNeutralButton("中性", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
那么 setNeutralButton 是我们上面示例中没有用到的一个方法,是用来设置一个中性的按钮。
设置完成 AlertDialog.Builder 的对话框的参数之后,我们需要调用构造器的 create 方法 来生成对话框,最后调用对话框实例的 show 方法,在页面上弹出提醒对话框。
我们也可以根据构造器构建对话框对象
//builder.create().show();
AlertDialog alertDialog = builder.create();
alertDialog.show();
有些时候我们还需要给对话框标题的前面加一个图标,我们可以用 setIcon 的方法来设置,例如我们在标题前面加上掘金的logo
到此为止 AlertDialog 提醒对话框的基本使用方法和功能我们就介绍完了,其实使用起来还是比较简单的,希望大家能掌握它。