2016-01-24 15 views

cevap

18

GridLayoutManager bir kılavuz kullanacak ve farklı hücreler için farklı yüksekliklere bazı yayılma ayarlayabilirsiniz, ancak olamaz.

Ne istiyorsunuz StaggeredGridLayoutManager. Bu, öğeleri ekrana sığdırır ve gerekli sonuca götürür. İsterseniz, yeniden sıralama davranışını setGapStrategy kullanarak da değiştirebilirsiniz.

+0

çok teşekkür ederiz! – BlizzedRu

+0

"farklı hücreler için farklı yükseklikler değil." Bununla birlikte, farklı satır yüksekliklerini ayarlayabilirsiniz; örneğin her bir hücre, wrap_content olarak ayarlanmış yükseklik ile görüntü görüntüsüne sahiptir ve her bir hücrede farklı görüntüler ayarlanır, daha sonra her bir satır en büyük görüntülerin yüksekliğini alır –

4

Gerçekten çok kolay. Sen RecycleView Bu yöneticisi eklemek zorunda: benim durumumda

recyclerView.setLayoutManager(new StaggeredGridLayoutManager(mColumnCount, 1)); 

böyle görünecek:

Context context = view.getContext(); 
RecyclerView recyclerView = (RecyclerView) view; 

if (mColumnCount <= 1) { 
    recyclerView.setLayoutManager(new LinearLayoutManager(context)); 
} else { 
    recyclerView.setLayoutManager(new StaggeredGridLayoutManager(mColumnCount, 1)); 
} 
recyclerView.setAdapter(new MyItemRecyclerViewAdapter(DummyContent.ITEMS, mListener)); 
İlgili konular