2016-03-17 19 views
5

sto usando StaggeredGridLayout responsabile per la vista riciclatoreRimuovi nella vista riciclatore layout a griglia

mStaggerGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager 
       .VERTICAL); 

ora, voglio rimuovere la spaziatura di default non v'è tra le colonne e le righe. Qualcosa come in questa immagine ma con solo 2 colonne.

enter image description here

+0

qual è il layout viewholder? –

+0

possibile duplicato di http://stackoverflow.com/questions/28531996/android-recyclerview-gridlayoutmanager-column-spacing – random

risposta

1

devi giocare in giro con un margine. Non l'imbottitura.

StaggeredGridLayoutManager imposta un margine predefinito di "30dp" per ogni elemento della griglia.

Può essere cambiato come segue,

class StaggeredListDecoration extends RecyclerView.ItemDecoration { 

    public StaggeredListDecoration() { 

    } 
    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 
     super.getItemOffsets(outRect, view, parent, state); 
     BaseCard.CARD_TYPE viewType = (BaseCard.CARD_TYPE)view.getTag(); 
      ((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).leftMargin = 0; 
      ((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).rightMargin = 0; 
      ((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).topMargin = 0; 
      ((StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams()).bottomMargin= 0; 
    } 
} 
Problemi correlati