天天看點

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

        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() 方法。