Ich versuche, einen Fangmechanismus für meine horizontale RecyclerView zu implementieren, und ich verwende this Code, um es zu tun.Snapping RecyclerView Android
Aber zwischen all meinen Kind-Objekten scheint ein wenig Platz zu sein. Bitte siehe Screenshot unten (Ich darf keine Bilder noch einzubetten, so bitte die Verbindung überprüfen):
Ich bin nicht sicher, warum es Abstand zwischen meinem Kind Gegenstände ist. Ich fifured, es hat etwas unten mit diesem Code zu tun:
private void setMarginsForChild(View child) {
int lastItemIndex = getLayoutManager().getItemCount() - 1;
int childIndex = getChildPosition(child);
if(childIndex != -1) ((SampleAdapter)getAdapter()).setSelection(childIndex);
int startMargin = childIndex == 0 ? getMeasuredWidth()/2 : getMeasuredWidth()/2;
int endMargin = childIndex == lastItemIndex ? getMeasuredWidth()/2 : getMeasuredWidth()/2;
//RTL works for API 17+
if (ViewCompat.getLayoutDirection(child) == ViewCompat.LAYOUT_DIRECTION_RTL) {
// The view has RTL layout
((ViewGroup.MarginLayoutParams) child.getLayoutParams()).setMargins(endMargin, 0, startMargin, 0);
} else {
// The view has LTR layout
((ViewGroup.MarginLayoutParams) child.getLayoutParams()).setMargins(startMargin, 0, endMargin, 0);
}
child.requestLayout();
}
Aber wenn ich nicht setzen Marge auf untergeordnete Elemente, die recyclerView Artikel Snap nicht in der Mitte des Bildschirms. Könnte mir jemand helfen, mich in die richtige Richtung zu lenken?
Irgendwelche Hilfe? Irgendwelche Vorschläge, um mich in die richtige Richtung zu weisen? – user6137836