6-1.Android 对话框之基础对话框(普通、单选、多选、列表)

对话框

  1. 对话框(Dialog)是一种常用的 UI 组件,它主要用于显示信息、接收用户操作反馈

  2. 对话框可以包含各种元素,但是主要还是以文本、按钮为主,其次是列表

  3. 其中,基础对话框是 Android 中最简单的对话框,而后是进度对话框、自定义对话框等


基础对话框使用 4 步走

  1. 创建 AlertDialog.Builder 对象,它用于构建对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
  1. 编辑对话框,主要是设置标题、消息、确定按钮的回调、取消按钮的回调
builder.setTitle("普通对话框");

builder.setMessage("确定退出吗?");

builder.setPositiveButton("确定", (dialog, which) -> {
    // 点击确定了做些什么
});

builder.setNegativeButton("取消", (dialog, which) -> {
    // 点击取消了做些什么
});
  1. 构建对话框,通过 AlertDialog.Builder 对象构建对话框
AlertDialog alertDialog = builder.create();
  1. 显示对话框
alertDialog.show();

一、普通对话框

1、编辑方法
  • 注:相关编辑方法都是在 AlertDialog.Builder 对象身上的,而不是 AlertDialog 对象
  1. setTitle(CharSequence title):设置对话框标题

  2. setMessage(CharSequence message):设置对话框消息

  3. setPositiveButton(CharSequence text, final OnClickListener listener):设置对话框确定按钮及其点击事件,text 是按钮文本,listener 是按钮回调

  4. setNegativeButton(CharSequence text, final OnClickListener listener):设置对话框取消按钮及其点击事件,text 是按钮文本,listener 是按钮回调

2、演示(4 步走)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("普通对话框");

builder.setMessage("确定退出吗?");

builder.setPositiveButton("确定", (dialog, which) -> {
    Toast.makeText(this, "点击了确定", Toast.LENGTH_SHORT).show();
});

builder.setNegativeButton("取消", (dialog, which) -> {
    Toast.makeText(this, "点击了取消", Toast.LENGTH_SHORT).show();
});
AlertDialog alertDialog = builder.create();
alertDialog.show();

二、单选对话框

1、编辑方法
  • 注:相关编辑方法都是在 AlertDialog.Builder 对象身上的,而不是 AlertDialog 对象
  1. setTitle(CharSequence title):设置对话框标题

  2. setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener):设置对话框单选列表项,items 是列表选项,checkedItem 初始选中索引,listener 是选中时的回调

2、演示(4 步走)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选对话框");

String[] items = {"物理", "化学", "生物", "历史"};
builder.setSingleChoiceItems(items, -1, (dialog, which) -> {
    Toast.makeText(this, "选择了:" + items[which], Toast.LENGTH_SHORT).show();
    dialog.dismiss();
});
AlertDialog alertDialog = builder.create();
alertDialog.show();

三、多选对话框

1、编辑方法
  • 注:相关编辑方法都是在 AlertDialog.Builder 对象身上的,而不是 AlertDialog 对象
  1. setTitle(CharSequence title):设置对话框标题

  2. setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener):设置对话框多选列表项,items 是列表选项,checkedItems 是每个列表项的初始选中状态,listener 是选中或取消时的回调

2、演示(4 步走)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选对话框");

String[] items = {"胡萝卜", "白菜", "菠菜", "土豆", "黄瓜", "西红柿"};
boolean[] check = {false, false, false, false, false, false};
builder.setMultiChoiceItems(items, check, (dialog, which, isChecked) -> {
    if (isChecked) {
        check[which] = true;
        Toast.makeText(this, "你选中了:" + items[which], Toast.LENGTH_SHORT).show();
    } else {
        check[which] = false;
        Toast.makeText(this, "你取消了:" + items[which], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alertDialog = builder.create();
alertDialog.show();

四、列表对话框

1、编辑方法
  • 注:相关编辑方法都是在 AlertDialog.Builder 对象身上的,而不是 AlertDialog 对象
  1. setTitle(CharSequence title):设置对话框标题

  2. setItems(CharSequence[] items, final OnClickListener listener):设置对话框列表项,items 是列表选项,listener 是点击时的回调

2、演示
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("课程安排:");

String[] items = {"第一节(数学)", "第二节(地理)", "第三节(历史)", "第四节(美术)"};
builder.setItems(items, (dialog, which) -> {
    Toast.makeText(this, items[which], Toast.LENGTH_SHORT).show();
});
AlertDialog alertDialog = builder.create();
alertDialog.show();

你可能感兴趣的:(Android,-,简化编程,android,java,java-ee,android-studio,android,studio,安卓)