1. 程式人生 > >android對話框(Dialog)的使用方法

android對話框(Dialog)的使用方法

line 刪除 art lin 用戶 size npr ssd 希望

Activities提供了一種方便管理的創建、保存、回復的對話框機制。比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,假設使用這些方法的話。Activity將通過getOwnerActivity()方法返回該Activity管理的對話框(dialog).

Android API支持下面類型的Dialog對象:

警告對話框 AlertDialog: 一個能夠有0到3個button, 一個單選框或復選框的列表的對話框. 警告對話框能夠創建大多數的交互界面, 是推薦的類型.

  進度對話框 ProgressDialog: 顯示一個進度環或者一個進度條. 因為它是AlertDialog的擴展, 所以它也支持button.

  日期選擇對話框 DatePickerDialog: 讓用戶選擇一個日期.

  時間選擇對話框 TimePickerDialog: 讓用戶選擇一個時間.

  假設你希望自己定義你的對話框, 能夠擴展Dialog類.

怎樣顯示一個Dialog

1、一個對話框總是被創建和顯示為一個Activity的一部分. 你應該在Activity的onCreateDialog(int)中創建對話框. 當你使用這個回調函數時,Android系統自己主動管理每一個對話框的狀態並將它們和Activity連接, 將Activity變為對話框的"全部者". 這樣,每一個對話框從Activity繼承一些屬性.

  

2、 showDialog(int): 當你想要顯示一個對話框時。調用showDialog(int id) 方法並傳遞一個唯一標識這個對話框的整數。當對話框第一次被請求時,Android從你的Activity中調用onCreateDialog(int id)。你應該在這裏初始化這個對話框Dialog。這個回調方法被傳以和showDialog(int id)同樣的ID。當你創建這個對話框後,在Activity的最後返回這個對象。


  3、 onPrepareDialog(int, Dialog):在對話框被顯示之前,Android還調用了可選的回調函數onPrepareDialog(int id, Dialog). 假設你想在每一次對話框被打開時改變它的不論什麽屬性,你能夠定義這種方法。

這種方法在每次打開對話框時被調用,而onCreateDialog(int) 僅在對話框第一次打開時被調用。假設你不定義onPrepareDialog(),那麽這個對話框將保持和上次打開時一樣。這種方法也被傳遞以對話框的ID。和在onCreateDialog()中創建的對話框對象。


  4、 dismissDialog(int):當你準備關閉對話框時,你能夠通過對這個對話框調用dismiss()來消除它。

假設須要,你還能夠從這個Activity中調用dismissDialog(int id) 方法,這實際上將為你對這個對話框調用dismiss() 方法。

假設你想使用onCreateDialog(int id) 方法來管理你對話框的狀態(就如同在前面的章節討論的那樣)。然後每次你的對話框消除的時候。這個對話框對象的狀態將由該Activity保留。假設你決定不再須要這個對象或者清除該狀態是重要的,那麽你應該調用removeDialog(int id)。這將刪除不論什麽內部對象引用並且假設這個對話框正在顯示,它將被消除。

  註意: 假設你希望在onCreateDialog()方法之外創建對話框, 它將不會依附在Activity上. 你能夠使用setOwnerActivity(Activity)來將它依附在Activity上.
  當你希望顯示一個對話框時, 調用showDialog(int)並將對話框的id傳給它.
  當一個對話框第一次被請求時,Android調用onCreateDialog(int). 這裏是你初始化對話框的地方. 這個回調函數傳入的id和showDialog(int)同樣. 創建對話框之後,將返回被創建的對象. 

android對話框(Dialog)的使用方法