如何将片段显示为对话框?

Jay*_*esh 5 android android-fragments

我已经开发了应用程序,我想将Fragment显示为对话框,

我在我的应用程序中使用了Tabs和Fragment,我只有一个活动,我根据需要替换了片段,

如果我们使用了活动,那么我们在Manifest文件中声明"android:theme ="@ android:style/Theme.Dialog"将活动显示为对话框,我想为Fragment做同样的事情

Ani*_*tal 5

我们可以使用两种方法(但只有一种方法)将“片段”显示为对话框。

说明:

道路:

扩展类DialogFragment并重写以下两种方法之一:

onCreateView()或

onCreateDialog()。

差 在这两个之间:

覆盖onCreateView()将使您将“片段”显示为对话框,并且可以使“标题”文本自定义。

另一方面,覆盖onCreateDialog(),您可以再次将片段显示为对话框,并且在此处可以自定义整个对话框片段。意味着,您可以将任何视图充气以显示为对话框。

如果您需要任何解释上述文字的源代码,请告诉我。

注意:

使用DialogFragment有一个缺点。它不处理屏幕方向。并崩溃的应用程序。

因此,您需要在DialogFragment类的onCreate()中使用setRetainInstance()。

  • 我不同意你关于方向改变的说明。我已经使用了DialogFragment多次,并且在更改方向时效果很好。显然,当您更改方向时,它将像所有片段一样重新创建。 (3认同)

小智 -3

您的片段类应该扩展 DialogFragment 而不是片段。

查看文档:http://developer.android.com/reference/android/app/DialogFragment.html