- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
创建对话框
一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能.
Android API 支持下列类型的对话框对象:
警告对话框?AlertDialog:? 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型.
进度对话框 ProgressDialog:? 显示一个进度环或者一个进度条. 由于它是AlertDialog的扩展, 所以它也支持按钮.
日期选择对话框?DatePickerDialog:? 让用户选择一个日期.
时间选择对话框 TimePickerDialog:? 让用户选择一个时间.
如果你希望自定义你的对话框, 可以扩展Dialog类.
Showing a Dialog 显示对话框
一个对话框总是被创建和显示为一个Activity的一部分. 你应该在Activity的onCreateDialog(int)中创建对话框. 当你使用这个回调函数时,Android系统自动管理每个对话框的状态并将它们和Activity连接, 将Activity变为对话框的所有者. 这样,每个对话框从Activity继承一些属性. 例如,当一个对话框打开时, MENU键会显示Activity的菜单, 音量键会调整Activity当前使用的音频流的音量.
?
注意:?如果你希望在onCreateDialog()方法之外创建对话框, 它将不会依附在Activity上. 你可以使用setOwnerActivity(Activity)来将它依附在Activity上.
当你希望显示一个对话框时, 调用showDialog(int)并将对话框的id传给它.
当一个对话框第一次被请求时,Android调用onCreateDialog(int). 这里是你初始化对话框的地方. 这个回调函数传入的id和showDialog(int)相同. 创建对话框之后,将返回被创建的对象.
在对话框被显示之前,Android还会调用onPrepareDialog(int, Dialog). 如果你希望每次显示对话框时有动态更改的内容, 那么就改写这个函数. 该函数在每次一个对话框打开时都调用. 如果你不定义该函数,则对话框每次打开都是一样的. 该函数也会传入对话框的id以及你在onCreateDialog()中创建的Dialog对象.
最好的定义onCreateDialog(int)?和onPrepareDialog(int, Dialog)?的方法就是使用一个switch语句来检查传入的id. 每个case创建相应的对话框. 例如, 一个游戏使用两个对话框: 一个来指示游戏暂停,另一个指示游戏结束. 首先, 为它们定义ID:
static?final?int?DIALOG_PAUSED_ID?=?0;static?final?int?DIALOG_GAMEOVER_ID?=?1;
然后, 在onCreateDialog(int)中加入一个switch语句:
protected?Dialog?onCreateDialog(int?id)?{? ??Dialog?dialog;? ??switch(id)?{? ??case?DIALOG_PAUSED_ID:? ? ? ??// do the work to define the pause Dialog? ? ? ??break;? ??case?DIALOG_GAMEOVER_ID:? ? ? ??// do the work to define the game over Dialog? ? ? ??break;? ??default:? ? ? ? dialog?=?null;? ??}? ??return?dialog;}
?
注意:?在这个例子中, case语句为空因为定义Dialog的程序在后面会有介绍.
在需要显示对话框是, 调用showDialog(int), 传入对话框的id:
showDialog(DIALOG_PAUSED_ID);Dismissing a Dialog 解除对话框
当你准备关闭对话框时, 你可以使用dismiss()函数. 如果需要的话, 你也可以从Activity调用dismissDialog(int), 二者效果是一样的.
如果你使用onCreateDialog(int)来管理你的对话框的状态, 那么每次你的对话框被解除时, 该对话框对象的状态会被Activity保存. 如果你决定你不再需要这个对象或者需要清除对话框的状态, 那么你应该调用?r
您可能关注的文档
最近下载
- PV 6728 车身制造中钢板的弧焊-气体保护或气体金属弧焊的焊接接头测试和评估.pdf VIP
- 15D500 防雷与接地设计施工要点.docx VIP
- qcr9149-2018铁路大型临时工程和过渡工程设计规范(OCR).pdf VIP
- 2024-2025华为ICT大赛(实践赛)-基础软件赛道理论考试题库大全-上(单选题汇总).docx
- 人教版四年级上册英语试卷 Unit 4.pdf
- 2025至2030全球及中国汽车外饰件行业市场占有率及投资前景评估规划报告.docx VIP
- 宫颈细胞病理技术质控学习培训课件.pdf VIP
- 混凝土质量缺陷修补专项施工方案20220930.doc VIP
- 危急值报告质量持续改进.doc VIP
- 低速无人行业系列研究报告之二:无人物流行业兴起,无人叉车企业或充分受益.docx VIP
文档评论(0)