Ich verwende GridLayoutManager von recyclerview, um benutzerdefinierte Galerie in meiner App anzuzeigen. Ich habe alle Funktionen wie Galerie implementiert. Aber da ist eine kleine Sache, mit der ich feststecke. In einer Reihe habe ich 3 Bilder. Aber ich muss den Abstand zwischen den Bildern reduzieren. Dabei möchte ich nicht mehr als 3 Bilder hintereinander zeigen, aber die Bildgröße (falls benötigt) kann sich erhöhen.So reduzieren Sie den Abstand zwischen Spalten in der Recycler-Ansicht (GridLayoutManager) in Android
Antwort
können Sie verwenden, um benutzerdefinierte RecyclerViewItemDecorator
:
public class RecyclerViewItemDecorator extends RecyclerView.ItemDecoration {
private int spaceInPixels;
public RecyclerViewItemDecorator(int spaceInPixels) {
this.spaceInPixels = spaceInPixels;
}
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent, RecyclerView.State state) {
outRect.left = spaceInPixels;
outRect.right = spaceInPixels;
outRect.bottom = spaceInPixels;
if (parent.getChildLayoutPosition(view) == 0) {
outRect.top = spaceInPixels;
} else {
outRect.top = 0;
}
}
}
Dann fügen Sie es zu Ihrem RecyclerView
:
// For example 10 pixels
int spaceInPixels = 10;
mRecyclerView.addItemDecoration(new RecyclerViewItemDecorator(spaceInPixels));
Hoffe es hilft!
verwenden für den Recycler Ansicht,
this.mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 3));
this.mRecyclerView.addItemDecoration(new HorizontalDividerItemDecoration.Builder(getContext())
.color(Color.DKGRAY)
.build());
this.mRecyclerView.addItemDecoration(new VerticalDividerItemDecoration.Builder(getContext())
.color(Color.DKGRAY)
.build());
und in Ihrem Layout-Datei für jeden Artikel, stellen Sie das Bild in einer solchen Art und Weise die Ränder des Behälters zu erfüllen.
zB:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RlayoutGrid"
android:layout_width="220dp"
android:layout_height="170dp"
android:background="@android:color/black">
<ImageView
android:id="@+id/prefence_imageButton"
android:layout_width="match_parent"
android:layout_height="170dp"
android:background="@android:color/black"
android:focusable="false"
android:focusableInTouchMode="false"
android:scaleType="fitXY"
/>
</RelativeLayout>
und fügen Sie diese zu Ihrer build.gradle
compile 'com.yqritc:recyclerview-flexibledivider:1.2.4'
Es heißt, kann nicht aufgelöst werden HorizontalDividerItemDecoration.Builder und VerticalDividerItemDecoration.Builder –
@DAgrawal Sie haben vergessen, die Abhängigkeit hinzuzufügen. Ja, ich bin Nekropolistin. – 0neel
Abstand entfernen Sie outRect.setEmpty()
RecyclerView.ItemDecoration divider = new RecyclerView.ItemDecoration(){
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.setEmpty();
}
};
grid.addItemDecoration(divider);
- 1. So reduzieren Sie den Abstand zwischen den Zeilen mit Bootstrap
- 2. So reduzieren Sie den Abstand zwischen Navigationslinks CSS
- 3. So entfernen Sie den Abstand zwischen Zeilen in RecyclerView mit GridLayoutManager
- 4. Abstand zwischen den Spalten
- 5. Get Abstand zwischen den Spalten Android SDK
- 6. Reduzieren Sie den Abstand zwischen Ticks in ggplot2
- 7. BlackBerry: Reduzieren Sie den Abstand zwischen 2 Tasten in HorizontalFieldManager
- 8. Reduzieren Abstand zwischen Fliesen
- 9. Wie den Abstand zwischen Zeilen in WKInterfaceTable reduzieren
- 10. Reduzieren Sie den Abstand zwischen Registerkarten und Container
- 11. Wie reduzieren Sie den Abstand zwischen dem fließenden EditText-Hinweis und dem EditText-Feld in Android?
- 12. So vergrößern Sie den Abstand zwischen Absätzen in einer Textansicht
- 13. Abstand zwischen den Spalten beim Drucken Problem
- 14. TableLayout - Entfernen Sie Platz zwischen den Spalten
- 15. So finden Sie den Abstand zwischen Zeilen und Spalten in c
- 16. So zentrieren Sie RecyclerView-Objekte horizontal mit vertikalem GridLayoutManager
- 17. Google Cardboard So ändern Sie den Abstand zwischen den Augen
- 18. So geben Sie den Abstand zwischen den Schaltflächen mit Bootstrap
- 19. Android GridLayoutManager mit Spalten- und Zeilenspanne
- 20. Ändern Sie den Abstand zwischen UIBarButtonItems in iOS 8
- 21. So steuern Sie den Abstand zwischen zwei Labels zur Laufzeit
- 22. Android: GridLayout Abstand zwischen den Elementen
- 23. Abstand zwischen den Symbolleistenschaltflächen entfernen
- 24. Reduzieren Sie die Abstände zwischen der Spalte in Flex-Säulendiagramm
- 25. Entfernen Sie den Abstand zwischen Kontrollkästchen
- 26. Zwei Strings so transformieren, dass der Abstand zwischen den Input Strings im Abstand zwischen den Output Strings "reflektiert" wird?
- 27. Seltsame Android RecyclerView (GridLayoutManager) Fokusverhalten
- 28. Android GridLayout - Wie vergrößert man den Abstand zwischen Spalten oder Zeilen?
- 29. So reduzieren Sie den TextView-Zeilenabstand
- 30. Wie kann ich in Highchart 1px Abstand zwischen den Spalten und der y-Achse haben?
das Sie http://stackoverflow.com/questions/28531996/android-recyclerview-gridlayoutmanager-column-spacing –
Danke kann helfen können, ich das versucht hatte, , aber oben in der ersten Bildansicht wird kein Leerzeichen hinzugefügt. und zusätzlicher Platz in der letzten Bildansicht hinzugefügt. auch der horizontale und vertikale Abstand ist nicht gerade. –
Bilder hinzufügen, für was ist jetzt und was willst du? –