Jak dodać prosty nagłówek / stopkę 8dp do RecyclerView Androida?

135

Czy istnieje sposób na dodanie prostego nagłówka / stopki do RecyclerView?

Tutaj możesz zobaczyć, co mam. Pierwsza karta dotyka paska narzędzi. Oto, co mam

Tutaj możesz zobaczyć, czego chcę. Wypełnienie 8dp między dnem a kartą. To jest to, co chcę mieć

Metody, które wypróbowałem do tej pory:

  • Użyj widoku nagłówka w moim widoku recyklingu. Ale myślę, że jest to bardzo nieefektywne w przypadku każdego przeglądu recyklingu.

  • użyj górnego marginesu o wartości 8 dp, co powoduje problem polegający na tym, że widok recyklingu ma białe paski na górze / dole podczas przewijania.

  • dodaj dopełnienie do elementu listy, co spowoduje różne marginesy między zewnętrzną i wewnętrzną kartą.

  • Jestem pewien, że istnieje proste rozwiązanie, którego do tej pory nie znam.

    Philipp Schumann
    źródło

    Odpowiedzi:

    411

    Dodanie górnego wypełnienia i ustawienie clipToPaddingna false załatwi sprawę.
    Coś takiego:

      <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
    źródło
    9
    Działa na górze, ale z jakiegoś powodu nie na dole.
    Benjamin,
    4
    Z której wersji biblioteki pomocy korzystasz? Ustawienie wypełnieniaBottom działa dobrze dla mnie.
    Estel
    2
    nie działa dla mnie również w api 23. Próbuję android: paddingBottom = "8dp" android: clipToPadding = "false"
    techtinkerer
    1
    paddingBottom Działa dla mnie, recyclinglerview-v7-25.3.1
    Nino van Hooff
    1
    To rozwiązanie przycina jednak pasek przewijania. Jakieś rozwiązania?
    Sebastian
    2

    Jeśli używasz RecyclerView z layout_weighti paddingBottomnie działa dla Ciebie, upewnij się, że ustawiłeś layout_height na 0dp! W przeciwnym razie, co dziwne, paddingTop działa, ale paddingBottom nie:

    <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
    źródło
    Ustawienie wysokości na 0 dp powoduje zniknięcie widoku. Czy coś mi umyka?
    Sagar
    Po prostu usuń weight = "1" i ustaw layout_height na match_parent
    Mike,