Search code examples
androidandroid-fragmentslayoutandroid-recyclerview

How to add margins to a RecyclerView for the last element?


I several screens that use RecyclerView and also has a small Fragment that is on top of the RecyclerView. When that Fragment is displayed I'd like to make sure I can scroll to the bottom of the RecyclerView. The Fragment isn't always displayed. If I used margins on the RecyclerView I'd need to dynamically remove and add them when the Fragment is displayed. I could add margins onto the last item in the list, but that is also complicated and if I load more things later (ie pagination) I'd have to strip off those margins again.

How would I dynamically add or remove margins to the view? What are some other options to solve this?


Solution

  • So if you want to add some padding at the bottom of your RecyclerView you can set the paddingBottom and then clipToPadding to false. Here's an example

    <android.support.v7.widget.RecyclerView
        android:id="@+id/my_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipToPadding="false"
        android:paddingBottom="100dp" />