2013-01-21 55 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