Ich versuche, Padding / Margin Bottom in der letzten Reihe und Padding / Margin Top in der ersten Reihe hinzuzufügen. Ich kann es in der Item-XML nicht tun, da es alle meine Childs betreffen würde.
Ich habe Header und Childs in meinem RecyclerView-Adapter, daher kann ich den nicht verwenden
android:padding="4dp"
android:clipToPadding="false"
Ich muss es einzeln in der letzten ersten Zeile jedes Headers verwenden
android
android-recyclerview
padding
Roter Adler
quelle
quelle
Antworten:
Ich benutze dies in Kotlin
quelle
Dieses Problem ist noch einfacher zu lösen. Sie können das erforderliche Auffüllen auf sich
RecylerView
selbst anwenden undclipToPadding
auf false setzen. Andernfalls wird das Auffüllen Ihren Bildlaufbereich abschneiden. Hier ist ein BeispielSiehe die Polsterung fügt 4dp auf allen Seiten hinzu, einschließlich oben und unten. Dann stellt der Parameter clipToPadding sicher, dass Ihre untergeordneten Elemente nicht abgeschnitten werden. Fügen Sie jetzt
4dp
an allen Seiten Polster für Ihre Kinderartikel hinzu, und schon kann es losgehen. Insgesamt erhalten Sie 8dp Polsterung an den Seiten und zwischen den Elementen.quelle
Anstatt sowohl den oberen als auch den unteren Elementen Auffüllungen hinzuzufügen, können Sie die Auffüllungen einfach oben und unten in Ihrer RecyclerView hinzufügen und das
clipToPadding
Attribut auf festlegenfalse
.quelle
Verwenden Sie
ItemDecoration
:und
quelle
notifyItemInserted
/Removed
nur einen Gegenstand zeichnet / Gegenstand entfernt und säubert, soView
dass alle anderen Kinder unberührt bleiben. Wenn beispielsweise ein Element zuerst in der Liste aufgeführt ist (mit oberster Auffüllung gezeichnet) und wir ein neues Element nach oben hinzufügen, wird das zuvor zuerst-aktuell-zweite Element weiterhin oben aufgefüllt. Eine einfache Lösung ist das AufrufennotifyDataSetChanged
(erneutes Zeichnen erzwingen) Alle ...), komplexere, benötigen eine Logik zum Erkennen des Elements, das sich an der ersten und / oder letzten Position befand, verschoben und dann aufgerufen wurdenotifyItemChanged(newPositionOfOldFirstAndOrLastItem)
Fügen Sie
android:clipToPadding="false"
undandroid:paddingBottom="100dp"
in Ihrem Recycling-Überblick hinzu.quelle
Fügen Sie android: clipToPadding = "false" und android: paddingBottom = "65dp" in Ihre Recyclingansicht ein. Wenn Sie die Fab-Menüschaltfläche und Aktionen für die Recycler-Ansichtszelle verwenden.
quelle
Aus irgendeinem Grund
clipToPadding=false
funktioniert die alte Lösung bei mir nicht. Also habe ich eine ItemDecoration hinzugefügthttps://gist.github.com/kassim/582888fa5960791264fc92bc41fb6bcf
quelle
Ich habe erstaunliche Antwort @snachmsm Antwort zum Besseren geändert und gebe Ihnen eine Idee, wie man richtig verwendet
quelle