Come aggiungere una semplice intestazione / piè di pagina 8dp al RecyclerView di Android?


133

C'è un modo per aggiungere una semplice intestazione / piè di pagina a RecyclerView?

Qui puoi vedere cosa ho. La prima carta tocca la barra degli strumenti Questo è quello che ho

E qui puoi vedere quello che voglio. Imbottitura 8dp tra il fondo e la scheda. Questo è quello che voglio avere

Metodi che ho provato finora:

  • Utilizzare una vista di intestazione nel mio recyclerview. Ma penso che sia molto inefficiente farlo per ogni revisione.

  • utilizzare un margine superiore di 8dp che causa il problema che la vista riciclata presenta barre bianche in alto / in basso durante lo scorrimento.

  • aggiungere un riempimento all'elemento dell'elenco che si traduce in margini diversi tra le carte esterne e interne.

  • Sono sicuro che esiste una soluzione semplice che non conosco finora.

    Risposte:


    403

    L'aggiunta di un'imbottitura superiore e l'impostazione clipToPaddingsu false faranno il trucco.
    Qualcosa come questo:

      <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" />
    

    9
    Funziona per la parte superiore, ma per qualche motivo non per la parte inferiore.
    Benjamin,

    4
    Quale versione della libreria di supporto stai usando? Impostazione paddingBottom funziona bene per me.
    Estel,

    2
    non funziona neanche per me su API 23. Sto provando Android: paddingBottom = "8dp" android: clipToPadding = "false"
    techtinkerer

    1
    paddingBottom Funziona per me, recyclerview-v7-25.3.1
    Nino van Hooff,

    1
    Questa soluzione tuttavia taglia la barra di scorrimento. Qualche soluzione a questo?
    Sebastian,

    2

    Se stai usando un RecyclerView con un layout_weighte paddingBottomnon funziona per te, assicurati di impostare layout_height su 0dp! Altrimenti, stranamente, il paddingTop funziona ma il paddingBottom non:

    <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" /> 
    

    Impostando l'altezza su 0dp, la vista scompare. Mi sto perdendo qualcosa qui?
    Sagar,

    Basta rimuovere weight = "1" e impostare layout_height su match_parent
    Mike
    Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
    Licensed under cc by-sa 3.0 with attribution required.