3

我正在研究使用片段处理标签。我想知道如何将 TabWidget 放在页面底部。

我正在研究 FragmentTab.java 示例(支持库 v4)。

有一个 XML 布局:

<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TabWidget
        android:id="@android:id/tabs"
        android:orientation="horizontal"
        android:layout_width="match_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="@+id/realtabcontent"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>

</LinearLayout>

无论我做什么 TabWidget 仍然是最重要的。实际上我可以完全删除 TabWidget 标签,但项目仍然会成功启动,并且 TabWidget 会再次出现在顶部。

这是否意味着现在使用 FragmentActivity 和 FragmentTabHost 我只能将 TabWidget 放在首位?

谢谢你。

4

1 回答 1

0

您快到了!我认为这里缺少的是您TabWidget 之前 FrameLayout放置的内容。此外,我认为您不能将 0dp 宽度和高度设置为您的@android:id/tabcontent,它是需要可见并具有layout_weight="1". 试试这个(编辑):

<android.support.v4.app.FragmentTabHost
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
       <!--
        <FrameLayout
            android:id="@+id/realtabcontent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
       -->
        <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0" />

    </LinearLayout>
</android.support.v4.app.FragmentTabHost>
于 2013-01-02T20:56:15.097 回答