列表视图下的Textview

时间:2013-07-29 14:24:11

标签: android android-listview textview

嘿伙计们,我的活动中有一个xml 这是我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/listview_corners" >
    </ListView>

    <ListView
        android:id="@+id/list2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone" >
    </ListView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Prices from:" />

    <ImageView
        android:id="@+id/ivprivatecell"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:src="@drawable/privatecell" />

</LinearLayout>

然而,一旦加载了列表视图,我就看不到textview和imageview了!该怎么办 ?只有列表视图可见!感谢

4 个答案:

答案 0 :(得分:3)

为每个ListView添加layout_weight 1:

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/listview_corners" 
    android:layout_weight="1">
</ListView>

<ListView
    android:id="@+id/list2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:visibility="gone" >
</ListView>

答案 1 :(得分:2)

ListViews很贪婪。他们会认为他们需要整个屏幕的高度。如果你想在它们下方展示一些东西,你需要使用固定高度或RelativeLayout,其中项目固定在屏幕底部,并使用layouy_alignParentBottom,并强制列表通过layout_above布局在它们之上

答案 2 :(得分:1)

我不知道这是否适合您,但我会将父级布局更改为RelativeLayout,然后将ImageView附加到底部并将TextView放在上面并放置两个ListViews高于使用RelativeLayout属性的{。}}。

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/listview_corners"
        android:layout_above="@id/list2" >
    </ListView>

    <ListView
        android:id="@+id/list2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:layout_above="@id/textView1" >
    </ListView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Prices from:"
        android:layout_above="@id/ivprivatecell />

    <ImageView
        android:id="@+id/ivprivatecell"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:src="@drawable/privatecell" />

</RelativeLayout>

RelativeLayout

答案 3 :(得分:0)

更好的是,为您的布局添加一个权重,其中包含您的列表视图和文本视图和图像视图的权重,确保您的权重小于1并且它们总和为1.最后,将高度设置为0dp。通过此功能,您可以设置希望每个视图在每种屏幕尺寸上占据的屏幕百分比