片段内的Android 1.6 TabHost

时间:2011-09-02 14:59:10

标签: android android-fragments android-tabhost android-support-library

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

现在假设在我的Activity中,屏幕部分是名为WidgetFragment的片段。 WidgetFragment如何包含TabHost?可视化活动中包含的迷你TabHost。 我尝试了一种可能的方法在片段中插入TabHost而不是FragmentActivity。

1 个答案:

答案 0 :(得分:5)

在普遍接受的做法中,Tabs适合整个屏幕。 大多数人(包括我)都不知道标签可以放在任何地方,就像一个简单的视图,ListView。 诀窍是将TabHost包含在另一个布局中。创建TabHost时,请始终保留以下ID: tabhost,制表符,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时,可能无法在任何地方添加标签

最后,这就是它的样子

enter image description here