LayoutManager für RecyclerView Grid mit unterschiedlicher Zellenbreite
StaggeredGridLayoutManager
scheint das Anpassen eines @ nicht zu erlaubcell width oder mehrere Spalten (mit Ausnahme der vollständigen Spanne) für die vertikale Ausrichtung.
Was ist ein bevorzugtesLayoutManager
zum Organisieren von Zellen wie oben gezeigt?
P.S. Ich möchte nur wissen, wie man @ anpascell width und nicht Höhe mitStaggeredGridLayoutManager
. Ich weiß, Höhe kann angepasst werden, wie in diesem @ implementieStichprob.
public class VerticalStaggeredGridFragment extends RecyclerFragment {
public static VerticalStaggeredGridFragment newInstance() {
VerticalStaggeredGridFragment fragment = new VerticalStaggeredGridFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
protected RecyclerView.LayoutManager getLayoutManager() {
return new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
}
@Override
protected RecyclerView.ItemDecoration getItemDecoration() {
return new InsetDecoration(getActivity());
}
@Override
protected int getDefaultItemCount() {
return 100;
}
@Override
protected SimpleAdapter getAdapter() {
return new SimpleStaggeredAdapter();
}
}
Adapte
public class SimpleStaggeredAdapter extends SimpleAdapter {
@Override
public void onBindViewHolder(VerticalItemHolder itemHolder, int position) {
super.onBindViewHolder(itemHolder, position);
final View itemView = itemHolder.itemView;
if (position % 4 == 0) {
int height = itemView.getContext().getResources()
.getDimensionPixelSize(R.dimen.card_staggered_height);
itemView.setMinimumHeight(height);
} else {
itemView.setMinimumHeight(0);
}
}
}
itemView.setMinimumWidth(customWidth)
hat keinen Einfluss auf die Zellenbreite.
Zur Vereinfachung aktualisiere ich mein Rasterlayout auf
Wie man die Breite von Zelle 0 im Vergleich zu Zelle 1 in einem @ erhöStaggeredGridLayoutManager
oder ein anderer Layout Manager?