2014-12-05 56 views
0

我只需要帮助清理一些对我无意义的信息,并尽可能使用用例。需要帮助在onCreate期间了解Android片段添加

我的理解:

随着机器人片段,我明白,如果打算替换都需要有一个容器视图,优选的FrameLayout,并且活动期间的初始片段添加到容器的onCreate方法。但有一件事对我来说依然没有意义。

什么,我不明白需要帮助:

规则是有关于什么地方/容器视图是如何设置的,如果有任何。 Android开发人员网站使它看起来像容器视图需要它自己的XML布局文件,但它并没有这样说,而且我已经在这里看到了使用嵌套在典型布局文件中的FrameLayouts的例子,但它们都是特定的用途,我需要了解设置容器的规则。

回答

0

没有规则。你只需要任何ViewGroup - 不管你想要的位置和大小。当您将Fragment添加到它中时,它的行为就像您手动创建FragmentView一样,并且被称为yourViewGroup.addView(fragmentView)

FrameLayout通常用于仅仅因为它使一个好的容器没有真正的行为(你只是给它一个大小和位置并让片段填充该容器)。

绝对没有必要让容器查看自己的布局文件。实际上,如果您希望Fragment接管整个Activity的内容视图,则甚至可以使用ID android.R.id.contentFragment添加到Activity

+0

因此,如果将一个FrameLayout放置在RelativeLayout XML文件的底部,然后将一个片段分配给活动onCreate方法中的该布局,那么在将setContentView调用到XML文件后,该工作就会和将其添加到专用的FrameLayout XML文件?我理解正确吗? – Saphiric 2014-12-05 23:48:12

+0

正确。它只是将Fragment的视图添加到您的视图层次结构中,因此无论该FrameLayout是从单独的文件中包含还是直接写入主要布局,它仍然会在相同的位置(假设我正确理解您)结束。试想一下,就像在布局中放置任何其他View一样 - 容器只是在运行时插入的视图(片段)的容器。 – kcoppock 2014-12-05 23:49:55

+1

得到它感谢你,有那么多的信息和许多代码实现,似乎没有工作,我得到了超级困惑。你的救星=) – Saphiric 2014-12-05 23:53:47