RelativeLayout:不遵守wrap_content

时间:2018-11-26 13:07:45

标签: android android-relativelayout

为什么RelativeLayout不包装内容?如果我删除了与下一个父级对齐的最后一个视图,它将起作用...

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dp"
        android:layout_marginBottom="@dimen/persistent_buttons_area_height"
        android:paddingBottom="8dp">

        <com.xxx.ui.presentation.VerticalNestedScrollview
            android:id="@+id/scroll_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:paddingBottom="11dp"
            android:clipToPadding="false"
            android:overScrollMode="never">

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/description"
                style="@style/PresentationDescription"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal" />

        </com.xxx.ui.presentation.VerticalNestedScrollview>

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/keyline_1"
            android:layout_alignParentTop="true"
            android:background="@drawable/list_top_gradient_dark"/>

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/keyline_1"
            android:layout_alignParentBottom="true"
            android:background="@drawable/list_bottom_gradient_dark"/>

    </RelativeLayout>

当前结果是(红色矩形为RelativeLayout):

enter image description here

那么我可以为此RelativeLayout正确包含换行内容吗?

非常感谢你们!

1 个答案:

答案 0 :(得分:0)

可能是这样,因为您将Viewandroid:layout_alignParentBottom="true"一起使用,所以现在要做的是将该视图与相对布局的底部对齐,现在RelativeLayout的高度为{ {1}}无效,因为wrap_content迫使相对布局使用尽可能多的可用空间。

因此可能的解决方案可以是: 添加android:layout_alignParentBottom="true"并从屏幕底部的“视图”中删除android:layout_below="@+id/scroll_view"