1

我需要以编程方式创建一个 DialogFragment 布局,但我不知道如何继续。我不能使用 xml 布局,因为 DialogFragment 将成为闭源 JAR 文件的一部分。

普通对话框在其构造函数中接受一个 Activity,因此可以像这样实例化一个新的布局layout = new LinearLayout(this);:另一方面,DialogFragments 通常不会将 Activity 作为参数,所以我不知道如何执行这第一步。

  1. 我应该如何创建布局?
  2. 在构造函数中请求 Activity 可以吗?
  3. 创建 DialogFragment 的布局与创建普通 Dialog 的布局有什么不同吗?我将不胜感激有关手动 DialogFragment 设计的任何其他建议。
4

1 回答 1

2

我应该如何创建布局?

您希望它看起来如何。如果您不能/不想使用您膨胀并从该onCreateView方法返回的布局文件,则必须在代码中构建新对话框的整个视图层次结构。

在构造函数中请求 Activity 可以吗?

没有必要这样做,Fragment将获得对 an 的引用Activity,您将通过使用获得对该上下文的引用getActivity()

创建 DialogFragment 的布局与创建普通 Dialog 的布局有什么不同吗?我将不胜感激有关手动 DialogFragment 设计的任何其他建议。

不,没有什么不同。的文档DialogFragment有一个关于如何构建自定义的很好的示例DialogFragment,您应该查看它。

于 2012-10-03T08:48:45.080 回答