StaggeredGridLayoutManager
, похоже, не позволяет настраивать ширину ячейки ячейки или охватывать несколько столбцов (кроме полного диапазона) для вертикальной ориентации.
Что является предпочтительным LayoutManager
для организации ячеек, как показано выше?
P.S. Я просто хочу знать, как настроить ширину ячейки, а не высоту с помощью StaggeredGridLayoutManager
. Я знаю, что высота может быть настроена как реализованная в этом образце.
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();
}
}
Адаптер
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)
не влияет на ширину ячейки.
Чтобы упростить, я обновляю макет сетки до
Как увеличить ширину ячейки 0 по сравнению с ячейкой 1 в StaggeredGridLayoutManager
или любом другом менеджере компоновки?