2013-01-21 53 views
1

有沒有辦法使用ActionBar選項卡,但與標籤切換ContentViews而不是片段?問題是我在大屏幕上有雙窗格佈局,每個窗格都有一個片段,我希望在選中該選項卡時將整個容器視圖切換出來。使用ActionBar標籤切換視圖

目前我使用我自己的Tab鍵機制,但我想更好地集成到ActionBar的內置功能和行爲中,並通過不必在單獨的ActionBar和標籤欄時節省空間可能。

回答

0

操作欄中的文檔 -

要開始,你的佈局必須包含在其中 你的地方與標籤相關聯的每個片段的ViewGroup。確保ViewGroup有一個 資源ID,以便您可以從您的製表符交換代碼中引用它。 或者,如果標籤內容將填充活動佈局 (不包括操作欄),那麼您的活動根本不需要佈局 (您甚至不需要調用setContentView())。相反,您可以將每個片段放置在默認根ViewGroup中,您可以使用android.R.id.content ID引用 引用(在片段事務處理過程中,您可以在下面的示例代碼中看到此ID用於此示例代碼)。

如果指定了與兩個片段槽的活動爲您的佈局,你可以替換他們兩個(甚至只是一個如果是有道理的你的應用程序)在ActionBar.TabListener回調。回調仍然會讓您控制佈局。

+0

感謝您的建議。我的情況稍微複雜一點,因爲我的兩個選項卡將有單個全屏幕片段,而另外兩個具有雙窗格,雙片段佈局。所以我必須以某種方式切換佈局。也許有一些技巧在更大的ViewGroup中隱藏和顯示視圖? – gordonwd

+0

你可以在回調中修改你的佈局,所以標準'setVisiblity'技巧用'GONE'隱藏一半的佈局,應該可以正常工作來交換佈局。 – iagreen

+0

由於我的應用程序最初編寫的方式(當Android 2.1是最新的),這將比我希望的工作多得多。另一方面,它會使我的應用更好地符合標準(即,使其成爲一個真正的基於片段的應用),並且我可以拋棄一些現有的通常會導致模糊錯誤的問題。謝謝您的幫助! – gordonwd