2016-12-18 81 views
-2

這可能是一個老問題。但我仍然找不到滿意的答案。 Android中的AlertDialog,AlertDialog.builder,Dialog有什麼區別。我應該使用哪一個?android對話框和differeces

+0

您必須提供更多信息,特別是關於您的研究 –

回答

0

引用this

對話框類是對話的基類,但是你應該避免直接實例對話框。相反,使用下面的一個子類:

  • AlertDialog
  • DatePickerDialog或TimePickerDialog

AlertDialog可以讓你展現你的活動/片段上面的對話框。它通常用於提示用戶進行交互,包括幾個按鈕或通知某事。 Dialog class是這個的超類。


AlertDialog.Builder內部靜態類 AlertDialog,它允許您快速建立其方便方法對話框

  • AlertDialog.Builder(Context context) - > 創建一個建設者用於使用默認警報對話框主題的警報對話框。 默認警報對話框主題由父上下文主題中的alertDialogTheme定義。

  • AlertDialog.Builder(Context context, int themeResId) - >爲使用明確主題資源的警報對話框創建構建器。 指定的主題資源(themeResId)應用於頂部的父上下文的主題。它可以被指定爲包含完全填充主題(如Theme_Material_Dialog)的樣式資源,以替換父上下文主題中的所有屬性,包括主要和重音顏色。 要保留諸如主要和重點顏色之類的屬性,themeResId可改爲指定爲覆蓋主題,例如ThemeOverlay_Material_Dialog。這將僅覆蓋將警報窗口設置爲對話框所需的窗口屬性。

注意

AlertDialog類允許你建立各種對話設計的,是往往唯一的對話框類,您需要。警報對話框標題,內容區域和動作按鈕有三個區域。

AlertDialog.Builder類提供了API,允許你創建一個AlertDialog以上類型的內容,包括自定義佈局。

理解這個概念與本實施例中

// 1. Instantiate an AlertDialog.Builder with its constructor 
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 

// 2. Chain together various setter methods to set the dialog requirements 
builder.setMessage(R.string.dialog_message) 
     .setTitle(R.string.dialog_title); 

// 3. Get the AlertDialog from create() 
AlertDialog dialog = builder.create(); 

對話框超類AlertDialog子類),AlertDialog.Builder內靜態類的 AlertDialog

0

閱讀android官方Dialogs指南。