Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add a simple 8dp header/footer to Android's RecyclerView?

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.

    like image 936
    Philipp Schumann Avatar asked Mar 11 '15 22:03

    Philipp Schumann


    2 Answers

    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" />
    
    like image 173
    florianmski Avatar answered Oct 26 '22 07:10

    florianmski


    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" /> 
    
    like image 22
    Greg Ennis Avatar answered Oct 26 '22 06:10

    Greg Ennis