📌  相关文章
📜  import android.support.v7.app.alertdialog androidx - Java (1)

📅  最后修改于: 2023-12-03 15:31:22.922000             🧑  作者: Mango

Android App 开发中的弹框:使用 AlertDialog

在 Android App 开发过程中,弹框是常用的交互方式。Android 中提供了 AlertDialog 类,用于创建弹框并展示在屏幕上。

导入 AlertDialog

在导入 AlertDialog 类之前,需要先导入相应的依赖包,在这里我们使用的是 android.support.v7.app.AlertDialog,由于 androidx 的出现,建议使用 androidx.appcompat.app.AlertDialog。在代码中只需要加入以下依赖包即可:

import androidx.appcompat.app.AlertDialog;
创建 AlertDialog

创建 AlertDialog 有两种方式:

  1. 使用 AlertDialog.Builder
  2. 直接创建 AlertDialog
使用 AlertDialog.Builder

AlertDialog.Builder 类封装了用于创建 AlertDialog 的方法,并提供额外的属性用于设置弹框的样式。AlertDialog.Builder 可以通过以下代码创建:

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Title");
builder.setMessage("Message");
builder.setCancelable(false);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        // 处理点击确认之后的逻辑
    }
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        // 处理点击取消之后的逻辑
    }
});
AlertDialog dialog = builder.create();
dialog.show();

这样就创建成功了一个最基本的 AlertDialog 弹框,它包含了一个标题 ("Title")、一个消息 ("Message")、两个按钮 ("确认" 和 "取消")。如果消息过长,可以使用 builder.setMessage(Html.fromHtml("Message")) 来支持富文本的编辑,以及 builder.setIcon(R.drawable.ic_launcher) 来添加一个图标。还可以通过 builder.setView(View) 方法来添加自定义的 View。

直接创建 AlertDialog

使用直接创建 AlertDialog 的方式,需要先创建一个 AlertDialog 对象,然后通过调用 setTitle()、setMessage()、setButton() 等方法对弹框进行设置。具体实现代码如下:

AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Title");
alertDialog.setMessage("Message");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "确认", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 处理点击确认之后的逻辑
        }
    });
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 处理点击取消之后的逻辑
        }
    });
alertDialog.setCancelable(false);
alertDialog.show();
设置弹框的样式

AlertDialog 提供了很多接口用于设置弹框的样式,例如:

  1. setTitle(CharSequence title):设置标题
  2. setMessage(CharSequence message):设置消息
  3. setView(View view):设置弹框的 View
  4. setIcon(int resId):设置弹框的图标
  5. setCancelable(boolean cancelable):设置弹框是否可以通过点击外部来关闭(默认为 true)
  6. setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener):设置弹框的确认按钮的文本和点击事件
  7. setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener):设置弹框的取消按钮的文本和点击事件
  8. setNeutralButton(CharSequence text, DialogInterface.OnClickListener listener):设置弹框的中立按钮的文本和点击事件
总结

在 Android 中使用 AlertDialog 创建弹框,只需要导入相关依赖包和使用 AlertDialog.Builder 或直接创建 AlertDialog 两种方式之一即可。在创建时可以选择样式,例如设置标题、消息、按钮等,并可以设置弹框是否可以被取消。弹框可以实现一些消息提示、询问确认等功能。