如何在RecyclerView的末尾放置视图

时间:2018-03-30 19:57:10

标签: android xml android-layout android-recyclerview android-view

我想在RecyclerView的末尾放置一个View(特别是一个View Group)。我的RecyclerView内容超出了显示高度,所以我希望在最后一个项目出现另一个视图组之后。

我尝试了两种不同的方法,但它们都没有达到预期的效果。那就是:

尝试1

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".StandingsActivity">

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="*">

    <TableRow
        android:padding="5dp">

        <!-- the table layout appears well above the RecyclerView -->

    </TableRow>

</TableLayout>

<!-- also the following view appears well above the RecyclerView-->
<View
    android:layout_width="match_parent"
    android:layout_height="2dip"
    android:background="@color/accent" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerview_standings"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<!-- the view starting from here are fixed at screen bottom-->
<View
    android:layout_width="match_parent"
    android:layout_height="2dip"
    android:background="@color/accent" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="bold"
    android:text="Legend"/>

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/accent"
    android:textStyle="italic"
    android:text="@string/standings_table_legend" />

在第一次尝试中,最后一个视图固定在屏幕的末尾,RecyclerView的项目在屏幕中间滚动。不会超出屏幕的末端。

尝试2

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

<TableLayout
    android:id="@+id/table"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="*">

    <TableRow
        android:padding="5dp">

        <!-- the table layout appears well above the RecyclerView -->

    </TableRow>

</TableLayout>
<View
    android:id="@+id/view1"
    android:layout_width="match_parent"
    android:layout_height="2dip"
    android:layout_alignParentTop="true"
    android:layout_below="@id/table"
    android:background="@color/colorAccent" />

<LinearLayout
    android:id="@+id/rec_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/view1"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:scrollbars="vertical"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@id/rec_container">

    <View
        android:id="@+id/view2"
        android:layout_width="match_parent"
        android:layout_height="2dip"
        android:background="@color/colorAccent" />

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/view2"
        android:text="Legend"
        android:textColor="@color/colorAccent"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/text1"
        android:textColor="@color/colorAccent"
        android:textStyle="italic"
        android:text="@string/standings_table_legend" />
</RelativeLayout>

在第二次尝试中,从不显示RecyclerView下的整个视图组,屏幕以RecyclerView的最后一项结束。

有人可以建议如何通过xml解决这个问题吗? 提前致谢

0 个答案:

没有答案