我想在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解决这个问题吗? 提前致谢