Android对话框相关操作技巧讲解
创始人
2024-06-22 06:10:24
0

我们在处理Android应用程序的时候,经常会遇到需要创建一个对话框的情况。那么今天大家将会从这篇文章中了解到有关Android对话框的托管以及不同的创建方法,以此加深这方面的创建技巧。

Android也提供了创建对话框的快捷方式,在Activity中可以通过如showDialog(), onCreateDialog(), onPrepareDialog(),dismissDialog(), removeDialog()等方法来创建和管理对话框。
Activity的onCreateDialog方法用于在创建并显示Android对话框的时候调用,比如:

 

  1. @Override  
  2. protected Dialog onCreateDialog(int id) {  
  3. return new AlertDialog.Builder(this).setMessage
    (”How are you?”).setPositiveButton(  
  4. ”Fine”,  
  5. new DialogInterface.OnClickListener() {  
  6. public void onClick(DialogInterface dialog, int which) {  
  7. }  
  8. }).setNegativeButton(”Not so good”, 
    new DialogInterface.OnClickListener() {  
  9. public void onClick(DialogInterface dialog, int which) {  
  10. }  
  11. }  
  12. ).create();  

 

你可以同时创建多个对话框,通过为他们设置id参数来区分它们,然后可以通过 showDialog(id)方法来显示。 onCreateDialog方法只会在第一次调用showDialog方法时才会被调用,在之后的showDialog()的调用中,对话框不是被新建出来的,而是直接显示之前创建过的那些Android对话框。#t#

如果你想要更新对话框的内容,你只要在 onPrepareDialog()中作相应的工作就可以了,该方法会在对话框显示之前进行调用。
dismissDialog()方法是用来关闭对话框的;removeDialog()方法用来将对话框从Activity的托管中移除(如果对已经移除的对话框重新进行调用showDialog ,则该对话框将进行重新创建)。

另外一种简单的显示Android对话框的方式是让Activity以Dialog的方式来工作(假装?),这种Activity被称作浮动Activity。这种Activity可以通过配置它的主题来实现,我们可以在AndroidManifest.xml中进行类似如下的配置:

 

  1. < activity android:name=”.DialogActivity” 
    android:label=”@string/activity_dialog” 
    android:theme=”@android:style/Theme.Dialog”> 
  2. …  
  3. < /activity> 

 

这样,该Activity就会应用了 ‘Theme.Dialog’的主题而看起来像Android对话框了。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...