0

je veux savoir s'il est possible que je peux personnaliser gridlayoutmanager dans Android pour avoir la mise en page horizontale comme ce croquis: enter image description hereGridLayoutManager Personnalisation

j'ai essayé un certain gestionnaire de mise en page que j'ai trouvé dans Github mais non de ceux qui l'aide moi d'implémenter ce type de gestionnaire de mise en page.

quelque chose comme ceci:

public class CustomLayoutManager extends StaggeredGridLayoutManager { 
public CustomLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
    super(context, attrs, defStyleAttr, defStyleRes); 
} 

public CustomLayoutManager(int spanCount, int orientation) { 
    super(spanCount, orientation); 
} 

@Override 
public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int widthSpec, int heightSpec) { 
    super.onMeasure(recycler, state, widthSpec, heightSpec); 
} 

@Override 
public void setSpanCount(int spanCount) { 
    super.setSpanCount(spanCount); 
}} 

toute aide sera appréciée grâce

+0

Vous pouvez utiliser plusieurs types de disposition dans l'adaptateur. –

+0

Je n'ai pas accès pour modifier les paramètres de l'adaptateur. C'est dans l'environnement de télévision android – destrat18

+0

Si ma réponse vous a aidé, s'il vous plaît marquez-le accepté. :) –

Répondre

1

Je ne pense pas que vous avez besoin du CustomLayoutManager. Pour ce faire, utilisez votre RecyclerView:

GridLayoutManager layoutManager = new GridLayoutManager(itemView.getContext(), 2, GridLayoutManager.HORIZONTAL, false); 
    layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
     @Override 
     public int getSpanSize(int position) { 
      return position == 0 ? 2 : 1;//put your condition here 
     } 
    }); 
recyclerView.setLayoutManager(layoutManager); 
+1

Merci, ça marche très bien – destrat18