シンプルな8 dpヘッダー/フッターをAndroidのRecyclerViewに追加する方法は?


133

RecyclerViewに単純なヘッダー/フッターを追加する方法はありますか?

ここで私が持っているものを見ることができます。最初のカードがツールバーに接触し、 これは私が持っているものです

ここで私が欲しいものを見ることができます。8dp底とカードの間のパディング。 これが私が欲しいものです

これまでに試した方法:

  • 私のrecyclerviewでヘッダービューを使用します。しかし、私はこれをすべてのrecyclerviewに対して行うのは非常に非効率的だと思います。

  • 8 dpの上余白を使用すると、スクロール時にrecyclerviewの上下に白いバーが表示されるという問題が発生します。

  • リスト項目にパディングを追加すると、外側のカードと内側のカードの間のマージンが異なります。

  • 今まで知らなかった簡単な解決策があると確信しています。

    回答:


    403

    上部のパディングを追加しclipToPaddingてfalseに設定すると、うまくいきます。
    このようなもの:

      <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
    上で動作しますが、何らかの理由で下では動作しません。
    ベンジャミン

    4
    どのバージョンのサポートライブラリを使用していますか?paddingBottomの設定は私にとってはうまくいきます。
    Estel 2015

    2
    api 23ではどちらも機能しません。android:paddingBottom = "8dp" android:clipToPadding = "false"を
    試行してい

    1
    paddingBottom Works for me、recyclerview-v7-25.3.1
    Nino van Hooff 2017

    1
    ただし、このソリューションはスクロールバーをクリップします。それに対する解決策はありますか?
    セバスチャン

    2

    あなたはとRecyclerViewを使用している場合layout_weight、そしてpaddingBottomあなたがlayout_heightを設定を確認して、あなたのために働いていません0dp!そうでなければ、奇妙なことに、paddingTopは機能しますがpaddingBottomは機能しません。

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

    高さを0dpに設定すると、ビューが非表示になります。ここで何か不足していますか?
    Sagar

    単にweight = "1"を削除し、layout_heightをmatch_parentに設定します
    Mike
    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.