如何在底部显示标签栏,-Tab with Fragment

时间:2012-07-17 13:59:55

标签: android android-layout

我正在开发一个基于标签的android应用程序,我已经看到“TabActivity”类已被弃用,而是使用Fragment来实现相同的效果,我使用以下链接开发我的应用程序,现在我需要显示标签在底部的栏,我尝试了几种方法,但无法使其正常工作,

http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

有人可以帮助我,我的标签布局xml

  <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            >

            <TabWidget
                android:id="@android:id/tabs"
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_weight="0"/>

            <FrameLayout
                android:id="@+android:id/realtabcontent"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"/>
        </LinearLayout>
    </TabHost>
</LinearLayout>

4 个答案:

答案 0 :(得分:9)

首先摆脱外部的LinearLayout,它没用。 然后将TabWidget放在内部LinearLayout的最后位置,然后就完成了。

答案 1 :(得分:1)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal">
    <TabHost
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ff140c14">

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"/>

            <TabWidget
                android:id="@android:id/tabs"
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0" />
        </LinearLayout>
    </TabHost>
</RelativeLayout>

为我工作

答案 2 :(得分:0)

将内部线性布局方向指定为垂直,并将Tab Host放在“线性布局”的最后位置。

答案 3 :(得分:-3)

无论如何,今天底部的Tabbar是一个UX反模式

http://developer.android.com/design/patterns/pure-android.html