2014-12-05 47 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