无法添加Recyclerview下方的空视图

我正在尝试与应用程序的recyclerview和浮动操作button我的手。 我遇到的问题是浮动操作button阻碍与recyclerview中的button。 我查了一下Android应用程序如电话应用程序(其中一个在gridvew中显示联系人的应用程序)是如何处理这个问题的,我发现底部留有空的空间,在recyclerview和浮动操作button,用户只需要滚动到底部以避免重叠。 我试图在recyclerview之后添加一个视图,但是没有显示它,这个视图也应该和recyclerview行一起移动。 我错过了什么,以显示在回收视图结束的意见。 我的布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#6fbababa"> <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical"/> <ImageButton android:id="@+id/button_floating_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:src="@drawable/ic_fab" android:background="@null" android:layout_alignParentBottom="true" android:layout_marginBottom="12dp" android:layout_marginEnd="12dp" android:layout_marginRight="12dp" android:elevation="2dp"/> <View android:layout_width="match_parent" android:layout_height="30dp" android:layout_below="@id/my_recycler_view" android:background="@color/white"/> </RelativeLayout> 

在这里输入图像说明

更新:修改布局代码,使其工作。

 <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="30dp" android:scrollbars="vertical"/> 

Solutions Collecting From Web of "无法添加Recyclerview下方的空视图"

将底部填充添加到RecyclerView。 此外,不要使用android:layout_height="wrap_content"除非你在布局pipe理器中覆盖了onMeasure 。 目前的布局pipe理员还不支持换行内容。

添加属性android:clipToPadding="false"来实现目标。 正如评论中所述。

这里有一个例子(在这种情况下是一个listView,但可以是任何东西)在一个回收器视图下面,占用父节点的其余高度。 注意layout_alignParentBottom和layout_above属性。

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" **android:layout_alignParentBottom="true"** /> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" android:layout_above="@+id/list_view" /> 

我已经创build了一个实用的方法,所以你可以轻松地添加填充

 public void addLastChildPadding(RecyclerView.ViewHolder holder,int padding,int recyclerListSize,int position){ if(recyclerListSize-1==position){ holder.itemView.setPadding(0,0,0,padding); } } 

立即尝试一下

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false"> </android.support.v7.widget.RecyclerView> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="15dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:orientation="horizontal"> <android.support.v7.widget.AppCompatButton android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="15dp" android:layout_weight="1" android:background="@drawable/button_primary_color_border" android:text="70%" android:textColor="@android:color/darker_gray" android:textSize="20sp" /> <android.support.v7.widget.AppCompatButton android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="15dp" android:layout_weight="1" android:background="@drawable/button_primary_color_border" android:text="60%" android:textColor="@android:color/darker_gray" android:textSize="20sp" /> </LinearLayout> </RelativeLayout> </RelativeLayout> </LinearLayout> </LinearLayout> 

根据您的使用删除图像和其他string。