我需要以编程方式创建 DialogFragment 布局,但我不知道如何进行。我不能使用 xml 布局,因为 DialogFragment 将成为闭源 JAR 文件的一部分。
普通对话框在其构造函数中接受一个 Activity ,因此可以像这样实例化一个新布局:layout = new LinearLayout(this);
。另一方面,DialogFragments 通常不会将 Activity 作为参数,所以我不知道如何执行这第一步。
- 我应该如何创建布局?
- 在构造函数中请求一个 Activity 可以吗?
- 创建 DialogFragment 布局与创建普通 Dialog 布局有什么不同吗? 如果您能提供有关手动 DialogFragment 设计的任何其他建议,我将不胜感激。
最佳答案
How should I create the layout?
您希望它看起来如何。如果您不能/不想使用您膨胀并从 onCreateView
方法返回的布局文件,您将必须在代码中构建新对话框的整个 View 层次结构。
Is it OK to ask for an Activity in the constructor?
不需要这样做,Fragment
将获得对 Activity
的引用,您将通过使用 getActivity( )
。
Is creating a layout of DialogFragment any different from creating a layout of normal Dialog? I will be grateful for any other advice regarding manual DialogFragment design.
不,这没有什么不同。 documentation for the DialogFragment
有一个关于如何构建自定义 DialogFragment
的很好示例,您应该检查一下。
关于java - 如何以编程方式创建 DialogFragment 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704724/