|
我们在处理Android应用程序的时候,经常会遇到需要创建一个对话框的情况。那么今天大家将会从这篇文章中了解到有关Android对话框的托管以及不同的创建方法,以此加深这方面的创建技巧。
Android也提供了创建对话框的快捷方式,在Activity中可以通过如showDialog(), onCreateDialog(), onPrepareDialog(),dismissDialog(), removeDialog()等方法来创建和管理对话框。
Activity的onCreateDialog方法用于在创建并显示Android对话框的时候调用,比如:
@Override
protected Dialog onCreateDialog(int id) {
return new AlertDialog.Builder(this).setMessage
(”How are you?”).setPositiveButton(
”Fine”,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}).setNegativeButton(”Not so good”,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}
).create();
}
复制代码你可以同时创建多个对话框,通过为他们设置id参数来区分它们,然后可以通过 showDialog(id)方法来显示。 onCreateDialog方法只会在第一次调用showDialog方法时才会被调用,在之后的showDialog()的调用中,对话框不是被新建出来的,而是直接显示之前创建过的那些Android对话框。
如果你想要更新对话框的内容,你只要在 onPrepareDialog()中作相应的工作就可以了,该方法会在对话框显示之前进行调用。
dismissDialog()方法是用来关闭对话框的;removeDialog()方法用来将对话框从Activity的托管中移除(如果对已经移除的对话框重新进行调用showDialog ,则该对话框将进行重新创建)。
另外一种简单的显示Android对话框的方式是让Activity以Dialog的方式来工作(假装?),这种Activity被称作浮动Activity。这种Activity可以通过配置它的主题来实现,我们可以在AndroidManifest.xml中进行类似如下的配置:
< activity android:name=”.DialogActivity”
android:label=”@string/activity_dialog”
android:theme=”@android:style/Theme.Dialog”>
…
< /activity>
复制代码这样,该Activity就会应用了 ‘Theme.Dialog’的主题而看起来像Android对话框了。 |
|