LayoutManager pour RecyclerView Grille avec différentes largeur de la cellule

StaggeredGridLayoutManager ne semble pas permettre la personnalisation d'un largeur de la cellule ou s'étendre sur plusieurs colonnes (à l'exception de pleine échelle) pour l'orientation verticale.

LayoutManager pour RecyclerView Grille avec différentes largeur de la cellule

Ce qui est un préféré LayoutManager pour l'organisation de cellules comme indiqué ci-dessus?

P. S. je veux juste savoir comment personnaliser largeur de la cellule et pas la hauteur avec StaggeredGridLayoutManager. Je sais que la taille peut être personnalisée en tant que mis en œuvre dans ce l'échantillon.

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();
    }
}

Adaptateur

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) n'affecte pas la largeur de la cellule.

Pour simplifier, je mettre à jour ma présentation de la grille de

LayoutManager pour RecyclerView Grille avec différentes largeur de la cellule

Comment augmenter la cellule 0 largeur par rapport à la cellule 1 dans un StaggeredGridLayoutManager ou tout autre gestionnaire de mise en page?

OriginalL'auteur random | 2016-04-09