Bagaimana cara menambahkan header / footer 8dp sederhana ke RecyclerView Android?

133

Apakah ada cara untuk menambahkan header / footer sederhana ke RecyclerView?

Di sini Anda dapat melihat apa yang saya dapatkan. Kartu pertama menyentuh Bilah Alat Ini yang saya punya

Dan di sini Anda dapat melihat apa yang saya inginkan. 8dp Padding antara bagian bawah dan Kartu. Ini yang ingin saya miliki

Metode yang saya coba sejauh ini:

  • Gunakan tampilan tajuk di recyclerview saya. Tapi saya pikir sangat tidak efisien untuk melakukan ini untuk setiap recyclerview.

  • gunakan margin atas 8dp yang menghasilkan masalah bahwa recyclerview memiliki bilah putih di atas / bawah saat menggulir.

  • tambahkan padding ke item daftar yang menghasilkan margin yang berbeda antara kartu luar dan dalam.

  • Saya yakin ada solusi sederhana yang saya tidak tahu sejauh ini.

    Philipp Schumann
    sumber

    Jawaban:

    403

    Menambahkan bantalan atas dan pengaturan clipToPaddingke false akan melakukan trik.
    Sesuatu seperti ini:

      <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
    sumber
    9
    Bekerja untuk bagian atas, tetapi untuk beberapa alasan bukan bagian bawah.
    Benjamin
    4
    Versi perpustakaan dukungan mana yang Anda gunakan? Pengaturan paddingBottom berfungsi dengan baik untuk saya.
    Estel
    2
    tidak bekerja untuk saya baik pada api 23. Saya mencoba android: paddingBottom = "8dp" android: clipToPadding = "false"
    techtinkerer
    1
    paddingBottom Bekerja untuk saya, recyclerview-v7-25.3.1
    Nino van Hooff
    1
    Solusi ini memotong bilah gulir. Ada solusi untuk itu?
    Sebastian
    2

    Jika Anda menggunakan RecyclerView dengan layout_weight, dan paddingBottomtidak berfungsi untuk Anda, pastikan Anda mengatur layout_height ke 0dp! Jika tidak, anehnya, paddingTop berfungsi tetapi paddingBottom tidak:

    <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
    sumber
    Mengatur ketinggian ke 0dp membuat tampilan menghilang. Apakah saya melewatkan sesuatu di sini?
    Sagar
    Hapus saja weight = "1" dan atur layout_height ke match_parent
    Mike