Android對(duì)話框相關(guān)操作技巧講解
我們?cè)谔幚?a target="_blank" >Android應(yīng)用程序的時(shí)候,經(jīng)常會(huì)遇到需要?jiǎng)?chuàng)建一個(gè)對(duì)話框的情況。那么今天大家將會(huì)從這篇文章中了解到有關(guān)Android對(duì)話框的托管以及不同的創(chuàng)建方法,以此加深這方面的創(chuàng)建技巧。
Android也提供了創(chuàng)建對(duì)話框的快捷方式,在Activity中可以通過(guò)如showDialog(), onCreateDialog(), onPrepareDialog(),dismissDialog(), removeDialog()等方法來(lái)創(chuàng)建和管理對(duì)話框。
Activity的onCreateDialog方法用于在創(chuàng)建并顯示Android對(duì)話框的時(shí)候調(diào)用,比如:
- @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();
- }
你可以同時(shí)創(chuàng)建多個(gè)對(duì)話框,通過(guò)為他們?cè)O(shè)置id參數(shù)來(lái)區(qū)分它們,然后可以通過(guò) showDialog(id)方法來(lái)顯示。 onCreateDialog方法只會(huì)在第一次調(diào)用showDialog方法時(shí)才會(huì)被調(diào)用,在之后的showDialog()的調(diào)用中,對(duì)話框不是被新建出來(lái)的,而是直接顯示之前創(chuàng)建過(guò)的那些Android對(duì)話框。#t#
如果你想要更新對(duì)話框的內(nèi)容,你只要在 onPrepareDialog()中作相應(yīng)的工作就可以了,該方法會(huì)在對(duì)話框顯示之前進(jìn)行調(diào)用。
dismissDialog()方法是用來(lái)關(guān)閉對(duì)話框的;removeDialog()方法用來(lái)將對(duì)話框從Activity的托管中移除(如果對(duì)已經(jīng)移除的對(duì)話框重新進(jìn)行調(diào)用showDialog ,則該對(duì)話框?qū)⑦M(jìn)行重新創(chuàng)建)。
另外一種簡(jiǎn)單的顯示Android對(duì)話框的方式是讓Activity以Dialog的方式來(lái)工作(假裝?),這種Activity被稱作浮動(dòng)Activity。這種Activity可以通過(guò)配置它的主題來(lái)實(shí)現(xiàn),我們可以在AndroidManifest.xml中進(jìn)行類似如下的配置:
- < activity android:name=”.DialogActivity”
android:label=”@string/activity_dialog”
android:theme=”@android:style/Theme.Dialog”>- …
- < /activity>
這樣,該Activity就會(huì)應(yīng)用了 ‘Theme.Dialog’的主題而看起來(lái)像Android對(duì)話框了。