TabHost内部的线性布局仅显示一个元素

时间:2011-04-26 15:59:04

标签: android tabview android-linearlayout

我在Android应用程序中有这个布局文件:

<?xml version="1.0" encoding="utf-8"?>
<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">
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
            <TextView 
                android:id="@+id/textview1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:text="this is a tab" />
            <TextView 
                android:id="@+id/textview2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:text="this is another tab" />
            <LinearLayout
                android:id="@+id/layoutSearch"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/textview4"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" 
                    android:text="Search here" />
                <EditText
                    android:id="@+id/editSearch"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

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

我的问题是LinearLayout android:id="@+id/layoutSearch"只显示其中包含的一个元素(文本视图,在上面的代码中)如果删除textview,它会显示EditText。

如何让它显示两个(和更多)元素?

1 个答案:

答案 0 :(得分:1)

那里有很多多余的布局,但看起来真正的问题是layoutSearch是一个有两个孩子的垂直LinearLayout,但第一个孩子的身高设置为fill_parent,所以你自然永远不会看到第二个。尝试将其高度设置为0px,但为其layout_weight 1,并且应该展开以占用其下方EditText未占用的所有可用空间。