Ich versuche, die Anzahl der Spalten in der Recycler-Ansicht (Rasterlayout) basierend auf der Anzeigegröße zu ändern. Ich konnte jedoch keinen richtigen Weg finden, es zu erreichen. Im Moment verwende ich treeViewObserver
, um die Anzahl der Spalten basierend auf der Änderung der Bildschirmgröße (während der Ausrichtung) zu ändern. Also, wenn die App im Hochformat öffnet, die Anzahl der Spalten (am Telefon) entscheidet, eins zu sein, die gut aussehen, aber diese Methode funktioniert nicht, wenn die App direkt im Querformat öffnet, wo eine einzelne gestreckte Karte im Raster wird auf dem Bildschirm angezeigt.Anzahl der Spalten im RecyclerView-Rasterlayout ändern
Hier recList ist RecyclerView & glm GridLayoutManager in RecyclerView
verwendeteviewWidth = recList.getMeasuredWidth();
cardViewWidthZZ = recList.getChildAt(0).getMeasuredWidth();
if (oldWidth == 0) {
oldWidth = cardViewWidthZZ;
}
if (oldWidth <= 0)
return;
int newSpanCount = (int) Math.floor(viewWidth/(oldWidth/1.3f));
if (newSpanCount <= 0)
newSpanCount = 1;
glm.setSpanCount(newSpanCount);
glm.requestLayout();
Mit freundlichen Grüßen
Konnten Sie eine Lösung dafür herauszufinden. – Shubham