android对话框和差异

android对话框和差异,android,Android,这可能是个老问题。但我仍然找不到满意的答案。 Android中的AlertDialog、AlertDialog.builder和Dialog之间有什么区别。我应该用哪一个?引用 Dialog类是Dialog的基类,但应避免直接实例化Dialog。相反,请使用以下子类之一: 对话框 DatePickerDialog或TimePickerDialog AlertDialog允许您在活动/片段上方显示对话框。它通常用于提示用户进行交互,包括一些按钮或通知某些内容。Dialog类是该类的超类 Build

这可能是个老问题。但我仍然找不到满意的答案。 Android中的AlertDialog、AlertDialog.builder和Dialog之间有什么区别。我应该用哪一个?

引用

Dialog类是Dialog的基类,但应避免直接实例化Dialog。相反,请使用以下子类之一:

对话框 DatePickerDialog或TimePickerDialog AlertDialog允许您在活动/片段上方显示对话框。它通常用于提示用户进行交互,包括一些按钮或通知某些内容。Dialog类是该类的超类

Builder是AlertDialog的一个内部静态类,它允许您使用其方便的方法快速设置对话框

AlertDialog.BuilderContext上下文-> 为使用默认警报对话框主题的警报对话框创建生成器。 默认警报对话框主题由父上下文主题中的alertDialogTheme定义

AlertDialog.BuilderContext上下文,int-themeResId->为使用显式主题资源的警报对话框创建生成器。 指定的主题资源themeResId应用于父上下文的主题之上。可以将其指定为包含完全填充的主题的样式资源,例如“主题\材质\对话框”,以替换父上下文主题中的所有属性,包括主颜色和强调色。 要保留主色和强调色等属性,可以将themeResId指定为覆盖主题,如“几何覆盖”材质对话框。这将仅覆盖将警报窗口设置为对话框所需的窗口属性

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();

Dialog是AlertDialog子类AlertDialog的超类。Builder是AlertDialog的内部静态类。

请阅读android官方指南。

您必须提供更多信息,特别是关于您的研究