Android:在ListView中填充相对布局高度(项目布局)

时间:2014-05-26 07:46:54

标签: android listview relativelayout fill-parent

我无法使View填充RelativeLayout的高度,这是ListView项的布局。这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<View 
    android:id="@+id/fill_the_height_please"
    android:layout_width="15dp"
    android:layout_height="match_parent"
    android:background="@color/red"/>

<TextView
    android:id="@+id/delivery_list_item_dest"
    android:layout_width="wrap_content"
    android:layout_toRightOf="@id/fill_the_height_please"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="2dp"
    android:text="Destinatario" />

<TextView
    android:id="@+id/delivery_list_item_address"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/delivery_list_item_dest"
    android:layout_below="@id/delivery_list_item_dest"
    android:layout_marginTop="5dp"
    android:layout_marginRight="5dp"
    android:text="Location" />

<ImageButton
    android:id="@+id/delivery_list_item_mapBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="0dp"
    android:src="@drawable/map_location"
    android:background="@null" />

ID fill_the_height_please 的视图未填充项目高度。在下图中,您可以看到结果(未显示任何内容):

enter image description here

我想要这样的事情:

enter image description here U

我还尝试按如下方式更改视图布局,但无论如何都不起作用:

<View 
    android:id="@+id/fill_the_height_please"
    android:layout_width="15dp"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:background="@color/red"/>

请帮助我实现目标吗?谢谢。

3 个答案:

答案 0 :(得分:2)

一个建议是将layout_alignTop =“@ + id / delivery_list_item_mapBtn”和layout_alignBottom =“@ + id / delivery_list_item_mapBtn”添加到视图中,并使其始终适合图像高度。

答案 1 :(得分:1)

尝试更改

android:layout_toRightOf="@id/delivery_list_item_statusBtn"

android:layout_toRightOf="@id/fill_the_height_please"

您没有delivery_list_item_statusBtn。但我看到红色部分甚至没有改变这一点。尝试一下,如果没有帮助,请发布适配器的代码。

答案 2 :(得分:1)

查看here似乎RelativeLayout在版本17及更低版本中存在错误。所以我改变了我的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<View 
    android:id="@+id/fill_the_height_please"
    android:layout_width="15dp"
    android:layout_height="match_parent"
    android:background="@color/red"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:orientation="vertical" >
        <TextView
            android:id="@+id/delivery_list_item_dest"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Destinatario"
            android:layout_marginBottom="5dp" />

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

    <ImageButton
        android:id="@+id/delivery_list_item_mapBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="0dp"
        android:src="@drawable/map_location"
        android:background="@null" />

</RelativeLayout>

有点复杂但有效。但是,如果有人仅使用RelativeLayout

找到解决方案,我会将问题留待解决