2016-12-18 15 views
-2

これは古い質問かもしれません。それでも私は満足のいく答えを見つけることができませんでした。 AlertDialog、AlertDialog.builder、Androidのダイアログの違いは何ですか?どちらを使うべきですか? thisを引用アンドロイドのダイアログボックスと差異

+0

あなたの研究についてより詳細な情報が必要です –

答えて

0

ダイアログクラスは、ダイアログの基本クラスですが、あなたは直接対話をインスタンス化することは避けてください。

  • AlertDialog
  • DatePickerDialogまたはTimePickerDialog

AlertDialogは、あなたがあなたの活動/フラグメント上記のダイアログを表示することができます:代わりに、以下のサブクラスのいずれかを使用します。これは通常、少数のボタンを含むインタラクションや何かのための通知を促すために使用されます。 ダイアログがこのためのスーパークラスです。 AlertDialog.Builder


内部静的クラスあるAlertDialogその便利な方法

  • AlertDialog.Builder(Context context)との対話を迅速に設定することを可能にする - > はビルダーを作成します。デフォルトのアラートダイアログテーマを使用するアラートダイアログが表示されます。 デフォルトのアラートダイアログテーマは、親コンテキストのテーマ内でalertDialogThemeによって定義されます。

  • AlertDialog.Builder(Context context, int themeResId) - >明示的なテーマリソースを使用するアラートダイアログのビルダーを作成します。 指定されたテーマリソース(themeResId)は、親コンテキストのテーマのトップに適用されます。プライマリとアクセントの色を含む親コンテキストのテーマのすべての属性を置換するために、完全に埋め込まれたテーマを含むスタイルリソースとして指定することができます(Theme_Material_Dialogなど)。 プライマリやアクセントの色などの属性を保持するには、代わりにthemeResIdThemeOverlay_Material_Dialogなどのオーバーレイテーマとして指定することができます。これにより、アラートウィンドウをダイアログとしてスタイルするのに必要なウィンドウ属性のみがオーバーライドされます。

AlertDialogクラスは、ダイアログのデザインの多様性を構築することを可能としばしばあなたが必要とする唯一のダイアログクラスです。アラートダイアログのタイトル、コンテンツ領域、およびアクションボタンの3つの領域があります。

AlertDialog.Builderクラスでは、カスタムレイアウトを含むコンテンツの上記種類でAlertDialogを作成することを可能にするAPIを提供します。

この例で概念を理解

// 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.Builder の内部静的クラス AlertDialogある、AlertDialogサブクラス)のスーパークラスであります

0

the android official Dialogsガイド。

関連する問題