2012-10-03 118 views
1

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

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

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

回答

2

我该如何创建布局?

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

可以在构造函数中要求一个Activity吗?

没有必要为此,Fragment将获得一个Activity参考,你会用getActivity()有这方面的参考。

创建DialogFragment的布局与创建普通Dialog的布局 有什么不同?关于手动DialogFragment设计,我将不胜感激 。

不,这没什么不同。 documentation for the DialogFragment就如何建立自定义DialogFragment有一个很好的例子,你应该检查出来。