145

Is there a way to add a simple header/footer to a RecyclerView?

Here you can see what I've got. The first Card touches the Toolbar This is what I've got

And here you can see what I would like to achieve:
8dp Padding between the bottom and the Card.
This is what I want to have

Methods I tried so far:

  • Use a header view in my recyclerview. But I think it is very inefficient to do this for every recyclerview.

  • use a 8dp top margin which results in the problem that the recyclerview has white bars on top/bottom when scrolling.

  • add a padding to the list item which results in different margins between the outer and inner cards.

  • I'm sure that there is a simple solution which I don't know so far.

    Philipp Schumann
    • 1,790
    • 2
    • 12
    • 12

    2 Answers2

    441

    Adding a top padding and setting clipToPadding to false will do the trick.
    Something like this:

      <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:paddingTop="8dp"
        android:clipToPadding="false"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    
    florianmski
    • 5,603
    • 1
    • 17
    • 14
    3

    If you are using a RecyclerView with a layout_weight, and paddingBottom is not working for you, making sure you set the layout_height to 0dp! Otherwise, strangely, paddingTop works but paddingBottom does not:

    <android.support.v7.widget.RecyclerView android:id="@+id/recycler"
        android:paddingBottom="20dp"
        android:clipToPadding="false"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp" /> 
    
    Greg Ennis
    • 14,917
    • 2
    • 69
    • 74