Android AlertDialog类

1. 创建AlertDialog

AlertDialog继承Dialog类,是系统自带的对话框。
AlertDialog.Builder提供了setTitle()setIcon()setMessage()来创建。

new AlertDialog.Builder(this)
        .setTitle("标题")
        .setIcon(R.mipmap.ic_launcher)
        .setMessage("消息内容")
        .create().show();

效果如下
Android AlertDialog类_第1张图片

2. 自定义标题或者内容

setCustomTitle(View customTitleView)自定义标题,setView(View view)自定义内容。

new AlertDialog.Builder(this)
        .setCustomTitle(getLayoutInflater().inflate(R.layout.layout_dialog_title, null))
        .setView(R.layout.layout_dialog_view)
        .create().show();

布局文件layout_dialog_title.xml



效果如下
Android AlertDialog类_第2张图片

3. 按钮

按钮分为3种类型,分别是PositiveButtonNegativeButtonNeutralButton,可以选择不同的按钮进行组合,但调用的顺序和最终按钮显示的顺序无关。

new AlertDialog.Builder(this)
        .setTitle("标题")
        .setIcon(R.mipmap.ic_launcher)
        .setMessage("消息内容")
        .setPositiveButton("确认", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        }).setNeutralButton("忽略", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        }).create().show();

效果如下
Android AlertDialog类_第3张图片

4. 列表显示

列表可以分为普通列表,单选列表和单选列表

  • 普通列表

      setItems(CharSequence[], OnClickListener)
      setItems(int, OnClickListener)
      setAdapter(ListAdapter, OnClickListener)
      setCursor(Cursor, OnClickListener, String)
    

    效果如下
    Android AlertDialog类_第4张图片

  • 单选列表

      setSingleChoiceItems(CharSequence[], int, OnClickListener) 
      setSingleChoiceItems(Cursor, int, String, OnClickListener)
      setSingleChoiceItems(int, int, OnClickListener)
      setSingleChoiceItems(ListAdapter, int, OnClickListener)
    

    效果如下
    Android AlertDialog类_第5张图片

  • 多选列表

      setMultiChoiceItems(CharSequence[], boolean[], OnMultiChoiceClickListener)
      setMultiChoiceItems(Cursor, String, String, OnMultiChoiceClickListener)
      setMultiChoiceItems(int, boolean[], OnMultiChoiceClickListener)
    

    效果如下
    Android AlertDialog类_第6张图片

5. 监听器

点击对话框旁边的区域或者返回键,对话框会退出,设置参数可以让这些操作失效。

setCancelable(false);

对话框也提供了监听器来监听对话框的状态

Builder.setOnCancelListener(OnCancelListener) // 取消监听器
Builder.setOnDismissListener(OnDismissListener) // 消亡监听器

6. 自定义样式

创建对话框的时候可以指定Theme来定制样式。


效果如下
Android AlertDialog类_第7张图片

相关文章
Android Toast类
Android PopupWindow类
Android AlertDialog类

你可能感兴趣的:(Android,控件)