RelativeLayout的子级未填充RelativeLayout的高度

viv*_*tus 12 layout android fill-parent

我有一个ListView,其中填充了RelativeLayouts.这些RelativeLayouts的内容可以改变,从而分别改变它们的高度.在每个RelativeLayout上,我在布局的左侧有一个与布局高度相匹配的垂直条.

这与此相似 - > 链接

虽然由于某种原因,我正在使用的View对象没有扩展到布局的高度.

我究竟做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/post"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/column_post_selector"
android:orientation="horizontal" >

<!-- Status bar (THIS ISN'T FILLING TO PARENTS' HEIGHT) -->
<View
    android:id="@+id/status"
    android:layout_width="3dp"
    android:layout_height="fill_parent"
    android:layout_alignLeft="@id/post"
    android:layout_marginBottom="2dp"
    android:layout_marginTop="2dp"
    android:background="#33B5E5" />

<ImageView
    android:id="@+id/thumbnail"
    android:layout_width="80dip"
    android:layout_height="80dip"
    android:layout_toRightOf="@id/status"
    android:contentDescription="@string/empty"
    android:layout_marginRight="5dp"
    android:scaleType="fitStart" />

<!-- Title -->

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@id/post"
    android:layout_toRightOf="@id/thumbnail"
    android:textColor="#ffffff"
    android:textSize="14sp"
    android:typeface="sans" />
<!-- Rightend Duration -->

<TextView
    android:id="@+id/date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@id/title"
    android:layout_marginRight="5dip"
    android:gravity="right"
    android:textColor="#10bcc9"
    android:textSize="12sp"
    android:textStyle="bold" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

RWI*_*WIL 21

我在我的单元格中有一个类似的问题,RecyclerView它有一个RelativeLayout作为根元素.

对我来说解决方法是在根RelativeLayout元素周围包装一个额外的LinearLayout.

所以你的卡看起来像这样:

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

        <RelativeLayout 
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
            <View
                android:id="@+id/view_with_same_height_as_parent"
                android:layout_width="10dp"
                android:layout_height="fill_parent"
                android:layout_alignParentBottom="true"
                android:layout_alignParentTop="true"/>
...


    </RelativeLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

资料来源:https: //stackoverflow.com/a/28799251/3708094


Tom*_*han 14

如果您的RelativeLayout在ScrollView中,那么在ScrollView上您需要添加fillViewPort参数并将其设置为 true

  <ScrollView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:fillViewport="true">
Run Code Online (Sandbox Code Playgroud)


ian*_*ake -7

您需要添加和layout_alignParentTop="true"-这将确保视图同时触及s的顶部和底部。layout_alignParentBottom="true"statuspostRelativeLayout

  • 还是不行。这非常奇怪,如果我设置宽度来填充父级,它工作正常,但设置高度来填充父级似乎没有响应。 (5认同)