技术原于网络,我将其整合,优化一遍,代码更直观、更透明。转载自雨松MOMO的博客原文地址: http://blog.csdn.net/xys289187120/article/details/6611624 ### Android软件开发之盘点所有Dialog对话框大合集 在Android开发过程中,Dialog对话框作为用户交互的重要组成部分,被广泛应用于各种应用场景之中。本文将详细解析八种常见对话框的实现方式及其应用场景。 #### 一、确定取消对话框 确定取消对话框是最常见的对话框类型之一,通常用于确认用户的某些操作。这种对话框包含两个按钮:“确定”和“取消”。通过`AlertDialog.Builder`对象创建对话框,并利用`setPositiveButton`和`setNegativeButton`方法分别设置“确定”和“取消”按钮的文字及对应的点击事件监听器。这种方式非常适合需要用户确认或取消某种操作的场景。 #### 二、多个按钮信息框 多个按钮信息框与确定取消对话框类似,但额外增加了一个中性按钮。中性按钮通常用于表示既不是肯定也不是否定的操作。在`AlertDialog.Builder`中,通过调用`setNeutralButton`方法来设置中性按钮的文本和点击事件监听器。这种类型的对话框适合需要提供更多选项的情况。 #### 三、列表框 列表框通常用于展示一组选项供用户选择。列表框可以通过`AlertDialog.Builder`的`setItems`方法设置。其中,`setItems`方法接受一个字符串数组和一个监听器,用来响应用户的选择。实际应用中,这些数据通常从服务器获取或者存储在本地数据库中,并通过适配器显示出来。列表框适用于需要让用户从多个选项中进行选择的场景。 #### 四、进度条框 进度条对话框主要用于显示任务的执行进度。这种类型的对话框通常涉及到线程处理,因为它需要在后台更新进度值并在UI线程中刷新进度条。通过`ProgressDialog`对象可以创建进度条对话框,并设置进度条的样式、最大值等属性。同时,通过启动一个新的线程来模拟任务执行过程,从而更新进度条的状态。这种方式特别适用于需要长时间执行的任务,如文件下载、上传等。 #### 五、单项选择列表框 单项选择列表框用于展示一组选项,但只能选择其中一个。通过`AlertDialog.Builder`的`setSingleChoiceItems`方法设置选项和监听器。当用户选择某个选项时,监听器会捕获到这一事件,并进行相应的处理。这种对话框适用于需要从多个选项中选择唯一一项的场景。 #### 六、多项选择列表框 与单项选择列表框类似,但允许用户选择多个选项。通过`setMultiChoiceItems`方法设置选项列表和监听器。此外,还需要维护一个`List`来记录哪些项已经被选中。当用户勾选或取消勾选某一项时,监听器会更新这个`List`。这种方式适用于需要从多个选项中选择多个项的场景。 #### 七、自定义布局 自定义布局允许开发者完全控制对话框的外观和行为。通过创建自定义视图,并将其设置为`AlertDialog.Builder`的`setView`方法的参数,可以实现非常个性化的对话框。这种方式非常适合需要高度定制化界面的情况。例如,在收到特定的广播消息时弹出自定义对话框,即使当前没有Activity处于活动状态也能正确显示。 #### 八、显示进度条Loading框架 最后一种对话框是一个简单的加载对话框,用于指示正在进行中的后台操作。它通常只包含一个进度条,没有其他按钮或选项。这种对话框的实现非常简单,只需要创建一个`ProgressDialog`对象,并设置其为不可取消模式即可。这种方式适用于后台任务执行时间较短且无需用户提供额外输入的情况。 通过以上介绍可以看出,Android中的对话框提供了多种不同的类型来满足不同的需求。在实际开发过程中,根据具体的业务场景选择合适的对话框类型,可以显著提升用户体验。





























剩余18页未读,继续阅读

- zhongguozzj2012-12-05学习对话框有用
- x404012013-05-22都是文档的,有工程源代码就好了。

- 粉丝: 34
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据背景下高中信息技术教学研究.docx
- 校园网络管理与信息安全解决方案.doc
- 论大数据时代学校会计工作的有效转型.docx
- 网络推广工作总结及心得体会.doc
- 一线互联网大厂 Java 核心面试题库:基础、异常、集合、并发编程、JVM、Spring 全家桶、MyBatis、Redis、数据库、中间件 MQ、Dubbo、Linux、Tomcat、ZooKeep
- 安全与健康项目管理【英文】.ppt
- Matlab图像融合研究报告设计方案.doc
- 基于物联网技术的红外RFID设备管理应用软件-用户手册.doc
- 学习Excel函数的小小心得.doc
- 语音识别技术优秀论文二稿(陈哲).doc
- 计算机网络安全影响因素和防火墙技术的应用.docx
- 大学计算机基础重点归纳.doc
- 互联网医疗是你创业兼职的最佳选择.ppt
- 高校互联网+旅游的创新发展之路.docx
- 互联网+背景下初中数学教学模式的探究.docx
- 计算机英语教学方法探讨.doc


