- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第十三章对话框
回顾掌握消息通知Toast组件掌握自定义Toast界面掌握状态栏通知Notification组件
目标掌握Activity对Dialog的托管掌握AlertDialog使用掌握Dialog事件以及与Activity交互掌握自定义Dialog使用掌握日期时间对话框使用掌握进度条对话框使用
DialogDialog是一个弹出对话框首先Dialog不是一个View组件可以看作和Activity一样的用户界面框架,可以动态加载用户界面,处理消息事件等不是应用级别组件,生命周期由调用者控制而不是Android
Activity对Dialog的托管Dialog的生命周期有调用者Activity控制Dialog通过getOwnerActivity()得到所属Activity实例引用Activity提供一系列回调方法创建和管理Dialog
Dialog回调方法创建对话框时:onCreateDialog(int)显示对话框时:showDialog(intid)显示对话框前:onPrepareDialog(intid,Dialog)关闭对话框时:dismissDialog(int)仅是取消Dialog的显示,并没有在内存中清除清除对话框时:removeDialog(int)
AlertDialog内部类AlertDialog.Builder方便Activity托管setIcon方法设置图标setTitle方法设置标题setMessage方法设置显示Dialog内容setPositiveButton方法设置确定按钮和相关事件处理setNegativeButton方法设置否定按钮和相关事件处理setNeutralButton方法设置中间态度按钮和相关事件处理
AlertDialog重载onCreateDialog(intid)方法,创建DialogreturnnewAlertDialog.Builder(MainActivity.this).setTitle(R.string.DialogTitle).setMessage(R.string.Dialog_Message).setPositiveButton(R.string.Dialog_OK ,newDialogInterface.OnClickListener(){ publicvoidonClick( DialogInterfacedialog,int whichButton){}})....create();
AlertDialog重载onPrepareDialog方法,可以在Dialog显示前设置相关属性@OverridepublicvoidonPrepareDialog(intid,Dialogdialog){ ... AlertDialogm_Dialog=(AlertDialog)dialog; m_Dialog.setMessage(dateString); ...}
Dialog底层运行机制Dialog是异步的显示在屏幕的Dialog不会阻塞主线程主线程在调用显示Dialog后会继续执行后续代码用户UI会被Dialog锁定。只有Dialog才能和用户交互注意性能关闭activity时注意关闭对话框dismiss
设置Activity为Dialog主题在AndroidManifest.xml中为Activity设置内置的Dialog主题activityandroid:label=@string/app_name android:theme=@android:style/Theme.Dialog“ ... .../activity
Dialog的事件处理Dialog实现了DialogInterface接口OnCancelListener监听点击Cancle按钮OnDismissListener监听取消事件OnShowListener监听显示时事件OnClickListener监听单击事件OnMultiChoiceClickListener监听多选按钮选中事件OnKeyListener监听键盘事件
与Activity交互在onPrepareDialog方法中Activity可以传递消息给DialogDialog作为Activity的内部类可以直接引用Activity中的其他组件
与Activity交互Dialog直接设置Activity中的文本组件属
文档评论(0)