创建 DialogFragment - 使用 onCreateDialog() 或 onCreateView()?

Creating a DialogFragment - using onCreateDialog() or onCreateView()?

我想创建一个带有登录按钮的主屏幕,单击该按钮会打开一个对话框以输入密码,然后提交或取消。

我了解到有两种方法可以创建 DialogFragment- 使用 onCreateDialog()onCreateView()

这两个选项有什么区别,在哪些场景下使用哪个?

onCreateDialog()用于显示基本对话框。这是显示对话框的最简单方法。使用此方法时,您需要使用内置对话框的构建器方法(如 AlertDialog)来构建对话框和正面和负面按钮的侦听器以及 return 一个对话框。

另一方面,OnCreateView() 您可以 return 将视图用作对话框。您可以使用自己的布局来构建对话框 UI。您自己的按钮并听取他们的意见。简单来说,您自己的自定义对话框。

另请注意:您甚至可以通过调用 setView() 方法为内置对话框设置视图,例如 onCreateDialog() 中的 AlerDialog。 onCreateView() 用于根据您自己的布局构建对话框。您应该使用哪个版本完全取决于您。希望对你有帮助。