​Dialog​​​ 是​​Android​​ 常用控件之一,主要以弹出框的形式与用户进行交互。对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。

本篇文章主要介绍 ​​Android​​ 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:



  1. 简单对话框
  2. 多选按钮对话框
  3. 单选按钮对话框
  4. 列表对话框
  5. 水平进度条对话框
  6. 圆形进度条对话框
  7. 自定义图文对话框
  8. 自定义输入对话框
  9. 自定义样式对话框
  10. 自定义Loading样式对话框
  11. 继承 DialogFragment 实现对话框
  12. Activity形式的 对话框


Dialog 简介

Dialog 继承关系如下:

java.lang.Object
↳ android.app.Dialog

Dialog 基本样式解析


Dialog 基本样式

1.标题

这是可选项,只应在内容区域被详细消息、列表或自定义布局占据时使用。 如需陈述的是一条简单消息或问题(如图 1 中的对话框),则不需要标题。

2.内容区域

它可以显示消息、列表或其他自定义布局。

3.操作按钮

对话框中的操作按钮不应超过三个。

1. 简单对话框

  • 实现效果:


简单对话框

  • 实现代码如下:


  • 简单对话框实现

2. 多选按钮对话框

  • 实现效果:


多选按钮对话

  • 实现代码:


多选按钮对话框 实现

3.单选按钮对话框

  • 实现效果:


单选按钮对话框

  • 实现代码如下:


单选按钮对话框 实现代码

4. 列表对话框

  • 实现效果如下:


列表对话框

  • 实现代码如下:


  • 列表对话框实现方法

5. 水平进度条对话框

  • 实现效果如下:


水平进度条对话框

  • 实现代码如下:


  • 进度对话框实现代码

6. 圆形进度条对话框

  • 实现效果如下:


圆形进度条对话框

  • 实现代码如下:


圆形进度条对话框 实现代码


注意 :


7. 自定义图文对话框

  • 实现效果如下:


自定义图文对话框


注意: 1. 自定义图文对话框的布局如下:



dialog_custom_img_tv 布局

8. 自定义输入对话框

  • 实现效果如下:



  • 自定义输入对话框
  • 实现代码如下:


自定义输入对话框 实现


注意 :dialog_custom_layout.xml 自定义对话框 布局如下:



自定义样式对话框 实现代码

1. 自定义样式dialog_custom_style布局如下:


dialog_custom_style 布局

2. EditText 的背景是画的edittext_background 圆角矩形


edittext_background 实现

10. 自定义Loading样式对话框

  • 实现效果如下:


自定义Loading样式对话框

  • 实现代码如下:


  • 自定义Loading样式对话框 实现方法

1. 自定义样式如下:


自定义loading dialog样式

2. 自定义样式动画如下:


自定义样式动画

3. 自定义样式的布局如下:


自定义样式的布局

11. 继承 DialogFragment 实现对话框

  • 实现效果如下:


继承 DialogFragment 实现对话框

1.自定义继承DialogFragment 类

  • 实现代码如下:


自定义继承DialogFragment 类

2. Activity 调用显示Dialog方法

CustomDialogFragment  customDialogFragment=new CustomDialogFragment();
customDialogFragment.show(getFragmentManager(), "fragment");

12. Activity形式的 对话框

只需创建一个 Activity,并在 <activity> 清单文件元素中将其主题设置为 Theme.Holo.Dialog:

<activity android:theme="@android:style/Theme.Holo.Dialog" >