如何使包含的组件始终位于顶部

时间:2019-02-09 10:56:43

标签: java android xml android-layout layout

如何在搜索组件下方将背景设置为白色(视图布局)?这是我的代码

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <include
        layout="@layout/component_search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"/>

<View
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/white"
        android:elevation="1dp"/>

</RelativeLayout>

Current white background on top

enter image description here

3 个答案:

答案 0 :(得分:0)

只需更改include标签和View标签的顺序,如下所示:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/white"/>

    <include
        layout="@layout/component_search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"/>


</RelativeLayout>

更新android:orientation="horizontal"在我编辑LinearLayout使其成为RelativeLayout时出现错误。您无需将其添加到您的RelativeLayout中。

答案 1 :(得分:0)

如果在下面用y轴表示,例如连续一行,则您已经拥有的可能很好。在相对布局中逐项设置项目。您甚至可以使用android:layout_toBottomOf =“ @ + id / your_view_above”

现在,如果在下面是指z轴,则该z轴朝着您的方向从屏幕上下来,(可能在后面)您可能要按照@amit的建议进行操作,而改用elevation

答案 2 :(得分:0)

id赋予包含视图,例如search
将其layout_alignParentTop属性设置为true
View的{​​{1}}属性设置为layout_below

"@id/search"

您不需要此属性<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/search" layout="@layout/component_search" android:layout_alignParentTop="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginTop="8dp"/> <View android:layout_below="@id/search" android:layout_width="match_parent" android:layout_height="30dp" android:background="@color/white" android:elevation="1dp"/> </RelativeLayout> ,因为它不适用于android:orientation="horizontal"