ListView里面的tabView是不是填充高度?

时间:2013-03-21 18:20:39

标签: android android-layout listview android-tabhost

我正在使用TabHost并在一个选项卡中,我插入了ListView。我将所有高度设置为fill_parent。但它没有显示完整列表,只是其中的一部分。如何使标签内容按高度填充屏幕?

   <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bkg"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp"
            android:layout_marginTop="7dp"
            android:background="@drawable/gradientrounded"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:src="@drawable/taxisign" />

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

                <TextView
                    android:id="@+id/taxiprofiletitle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:layout_weight="0.9"
                    android:text="Large Text"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:textColor="#000000" />

                <Button
                    android:id="@+id/phonenumber"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="4dp"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:layout_marginTop="5dp"
                    android:background="@drawable/button"
                    android:paddingBottom="5dp"
                    android:paddingTop="5dp"
                    android:text="Button"
                    android:textColor="#ffffff" />
            </LinearLayout>

            <ProgressBar
                android:id="@+id/loadFeedbacks"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_gravity="center"
                android:visibility="invisible" />
        </LinearLayout>

        <TabHost
            android:id="@android:id/tabhost"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FFFF0000" >

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

                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="match_parent"
                    android:background="#FF000000"
                    android:layout_height="wrap_content" >
                    <TextView
                        android:tag="tab0"
                        android:text="Инфо"
                        android:background="@android:drawable/btn_star_big_on"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        />
                    <TextView
                        android:tag="tab1"
                        android:text="Отзывы"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        />
                    <TextView
                        android:tag="tab2"
                        android:text="Тарифы"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        />
                </TabWidget>

                <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1" >

                    <LinearLayout
                        android:id="@+id/tab1"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >

                        <TextView
                            android:id="@+id/profile_info"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Info" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/tab2"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical" >

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

                            <TextView android:text="Добавить"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content">

                            </TextView>
                            <ImageButton 
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"/>
                        </LinearLayout>
                        <ListView
                            android:id="@+id/reviewslist"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content" >
                        </ListView>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/tab3"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >

                        <ListView
                            android:id="@+id/tariffslist"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="1" >
                        </ListView>

                    </LinearLayout>
                </FrameLayout>
            </LinearLayout>
        </TabHost>


    </LinearLayout>

</ScrollView>

4 个答案:

答案 0 :(得分:1)

在您第一次LinearLayout更改layout_height="match_parent"时。另外,自{API}起,fill_parent已被弃用,并替换为match_parent,因此您应该使用此代码。

答案 1 :(得分:1)

您已使用wrapView内容作为listView高度。您应该始终使用height作为match_parent / fill_parent。我想你的问题就在这里

                    <ListView
                        android:id="@+id/reviewslist"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" >
                    </ListView>

将其更改为:

                     <ListView
                        android:id="@+id/reviewslist"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    </ListView>

除此之外,这种布局似乎是有用的。不建议在滚动视图中使用列表视图。

答案 2 :(得分:0)

在快速查看XML文件时,看起来TabHost(LinearLayout)的父级是'wrap_content',所以我不确定你是否得到了所有的父母。我确实希望有一个更好的UI界面来通过Eclipse构建视觉效果。当他们出现时,不太乐意解决这样的问题。他们经常会出现。通常它涉及一些试验和错误,以使事物看起来像我想要的方式。

答案 3 :(得分:0)

滚动布局是不必要的,删除它,使代码生效