Dialog
是Android
常用控件之一,主要以弹出框的形式与用户进行交互。对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。
本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
- 简单对话框
- 多选按钮对话框
- 单选按钮对话框
- 列表对话框
- 水平进度条对话框
- 圆形进度条对话框
- 自定义图文对话框
- 自定义输入对话框
- 自定义样式对话框
- 自定义Loading样式对话框
- 继承 DialogFragment 实现对话框
- Activity形式的 对话框
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息

我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
Dialog 简介
Dialog 继承关系如下:
java.lang.Object
↳ android.app.Dialog
Dialog 基本样式解析

1.标题
这是可选项,只应在内容区域被详细消息、列表或自定义布局占据时使用。 如需陈述的是一条简单消息或问题(如图 1 中的对话框),则不需要标题。
2.内容区域
它可以显示消息、列表或其他自定义布局。
3.操作按钮
对话框中的操作按钮不应超过三个。
1. 简单对话框
- 实现效果:

-
实现代码如下:
简单对话框实现
2. 多选按钮对话框
- 实现效果:

- 实现代码:

3.单选按钮对话框
- 实现效果:

-
实现代码如下:
单选按钮对话框 实现代码
4. 列表对话框
- 实现效果如下:

-
实现代码如下:
列表对话框实现方法
5. 水平进度条对话框
- 实现效果如下:

-
实现代码如下:
进度对话框实现代码
6. 圆形进度条对话框
- 实现效果如下:

- 实现代码如下:

注意 :
水平进度条,圆形进度条的区别 如下:
// 水平进度条显示
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 圆形进度条显示 progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
7. 自定义图文对话框
- 实现效果如下:

- 实现代码如下:

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

8. 自定义输入对话框
-
实现效果如下:
自定义输入对话框
- 实现代码如下:

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

9. 自定义样式对话框
- 实现效果如下:

- 实现代码如下:

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

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

10. 自定义Loading样式对话框
- 实现效果如下:

-
实现代码如下:
自定义Loading样式对话框 实现方法
1. 自定义样式如下:

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

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

11. 继承 DialogFragment 实现对话框
- 实现效果如下:

1.自定义继承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" >
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。期待您的关注,
感谢您的阅读,谢谢!
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息

我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。

点击阅读原文,获取更多福利

网友评论