3

在演示Support4Demos - API 4+ Support Demos中,Tabs 和 TabsPager 示例都扩展了 FragmentActivity。每个选项卡内容本身就是一个片段。没有真正的突破,TabActivity 的使用方式相同,没有引入 Fragment。

现在假设在我的 Activity 中,屏幕部分是一个名为 WidgetFragment 的 Fragment。WidgetFragment 怎么可能包含 TabHost ?可视化包含在 Activity 中的迷你 TabHost。我尝试了所有可能的方法来在 Fragment 而不是 FragmentActivity 中插入 TabHost。

4

1 回答 1

5

在普遍接受的实践中,选项卡适合整个屏幕。大多数人(包括我)都不知道选项卡可以像简单的视图 ListView 一样放置在任何地方。诀窍是将您的 TabHost 包含在另一个布局中。创建 TabHost 时,请始终保留这些 id:tabhost、tabs、tabcontent

在您的主布局中,包括您的 tabhost.xml 。在这里,我将 TabHost 居中

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <!-- Fill whatever you need -->     
    <FrameLayout
        android:id="@+id/widget_fragment"
        android:layout_centerVertical="true" android:layout_centerHorizontal="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <include layout="@layout/tabhost" />
    </FrameLayout> 
</LinearLayout>

好好看看 Support4Demos 中的 Tabs 和 TabsPager 示例,TabHost 仍然由 FragmentActivity 管理。每个选项卡内容都是一个片段。使用 TabActivity,可能无法在任何地方都有选项卡

最后,这就是它的样子

在此处输入图像描述

于 2011-09-07T14:28:11.440 回答