- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
显示对话框
?? ?对话框经常作为Activity的一部分来创建和显示。你通常应该从protected Dialog?Activity.onCreateDialog (int id) 回调方法里创建对话框。当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。
注意:?如果你决定在onCreateDialog()方法之外创建一个对话框,它将不会被附着到活动上。不过,你可以通过setOwnerActivity(Activity)把它附着到一个活动上。?
?? ?当你想要显示一个对话框时,调用showDialog(int id) 方法并传递一个唯一标识这个对话框的整数。
?? ?当对话框第一次被请求时,Android从你的Activity中调用onCreateDialog(int id),你应该在这里初始化这个对话框Dialog。这个回调方法被传以和showDialog(int id)相同的ID。当你创建这个对话框后,在Activity的最后返回这个对象。
?? ?在对话框被显示之前,Android还调用了可选的回调函数onPrepareDialog(int id, Dialog). 如果你想在每一次对话框被打开时改变它的任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用,而onCreateDialog(int) 仅在对话框第一次打开时被调用。如果你不定义onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以对话框的ID,和在onCreateDialog()中创建的对话框对象。(个 人理解是,在本Activity里第一次show某个Dialog,则先调用onCreateDialog,得到返回的Dialog对象并挂靠在 Activity,保存Dialog对象的引用,然后才显示Dialog。这样子,下次再show Dialog就不用重新创建Dialog对象,而是重用旧的)
?? ?定义onCreateDialog(int) 和 onPrepareDialog(int, Dialog) 回调函数的最佳方法是使用一个switch 语句来检查传递进来的id 参数。每个case 应该检查一个唯一的对话框ID然后创建和定义相应的对话框。比如,想象一下一个游戏使用两个不同的对话框:一个用来指示这个游戏已经暂停而另一个来指示游 戏结束。首先,为每个对话框定义一个常量:
static?final?int?DIALOG_PAUSED_ID?=?0;?
static?final?int?DIALOG_GAMEOVER_ID?=?1;?
然后,为每一个ID用一个switch case定义这个onCreateDialog(int) 回调函数:
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;?
}?
当是时候显示其中之一的对话框时,使用对话框ID调用showDialog(int):
showDialog(DIALOG_PAUSED_ID);?
?
消除对话框Dismissing a Dialog
?? ?当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。如果需要,你还可以从这个Activity中调用dismissDialog(int id) 方法,这实际上将为你对这个对话框调用dismiss() 方法。
?? ?如果你想使用onCreateDialog(int id) 方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(int id)
您可能关注的文档
- 4.3.1破解教程%2B%2B.doc
- 4G综述.doc
- 4P策略.doc
- 4p策略分析手机行业的现状与发展.doc
- 4工进网作业许可实际操作评分标准_高_.doc
- 4款车载telematics系统大比拼.doc
- 04-扑克牌游戏开发.doc
- 4全球供应链遭遇严峻挑战.doc
- 6案例赏析106.doc
- 10kV配电线路故障原因分析及防范措施.doc
- 2024火电电力职业鉴定高分题库及完整答案详解(必刷).docx
- 2024火电电力职业鉴定高分题库及答案详解【精选题】.docx
- 2024火电电力职业鉴定高分题库及参考答案详解(研优卷).docx
- 2024火电电力职业鉴定高分题库含完整答案详解(名校卷).docx
- 2024火电电力职业鉴定高分题库及参考答案详解【预热题】.docx
- 2024火电电力职业鉴定高分题库【必刷】附答案详解.docx
- 2024火电电力职业鉴定题库附答案详解(巩固).docx
- 2024火电电力职业鉴定高分题库及参考答案详解(综合卷).docx
- 2024火电电力职业鉴定高分题库及参考答案详解(综合卷).docx
- 2024火电电力职业鉴定题库(满分必刷)附答案详解.docx
最近下载
- 高中数学第四章定积分4.3定积分的简单应用4.3.2简单几何体的体积教案.docx VIP
- TZSQX008-2020建设工程全过程质量行为导则.docx VIP
- 2024年山东省高中学业水平合格考生物试卷试题(含答案详解).docx VIP
- 高级教师职称评审答辩简答题.doc VIP
- 禁毒情报学习通超星期末考试答案章节答案2024年.docx VIP
- 北京市2024年艺术类专业考生综合分分数分布(一分一段表).pdf VIP
- 2025年乳腺癌诊疗指南(doc14页) .pdf VIP
- 篮球的起源与发展ppt课件.pptx VIP
- 网上调查赚钱经验及技巧总结.doc VIP
- ALPHA AS100说明书-V102用户手册.pdf
文档评论(0)