2016-03-31 23 views
1

Yatay geridönüşüm için bir yakalama mekanizması uygulamaya çalışıyorum. Bunu yapmak için this kodunu kullanıyorum.Snapping RecyclerView android

Ancak tüm alt öğelerim arasında biraz boşluk var gibi görünüyor. (Böylece bağlantısına bakın Henüz görüntüleri gömmek için izin yok) aşağıdaki ekran bakınız:

enter image description here

Çocuğum öğeleri arasında boşluk var neden emin değilim. Ben aşağıda bu kodla ilgili bir şey var fifured:

private void setMarginsForChild(View child) { 
    int lastItemIndex = getLayoutManager().getItemCount() - 1; 
    int childIndex = getChildPosition(child); 
    if(childIndex != -1) ((SampleAdapter)getAdapter()).setSelection(childIndex); 
    int startMargin = childIndex == 0 ? getMeasuredWidth()/2 : getMeasuredWidth()/2; 
    int endMargin = childIndex == lastItemIndex ? getMeasuredWidth()/2 : getMeasuredWidth()/2; 

    //RTL works for API 17+ 
    if (ViewCompat.getLayoutDirection(child) == ViewCompat.LAYOUT_DIRECTION_RTL) { 
     // The view has RTL layout 
     ((ViewGroup.MarginLayoutParams) child.getLayoutParams()).setMargins(endMargin, 0, startMargin, 0); 
    } else { 
     // The view has LTR layout 
     ((ViewGroup.MarginLayoutParams) child.getLayoutParams()).setMargins(startMargin, 0, endMargin, 0); 
    } 
    child.requestLayout(); 
} 

Ama çocuk öğelere marjı ayarlamak yoksa, recyclerView ürün ekranın ortasına oturtun yoktur. Birisi bana doğru yönde işaret edebilir mi?

+0

Herhangi bir yardım here kontrol ?? Beni doğru yöne işaret edecek herhangi bir öneriniz var mı? – user6137836

cevap

0

Bu yüzden bu code'u kullanarak çalıştım. Bu, bir liste öğesini kaydırdıktan sonra merkeze geçirmek için kullanılabilecek özel bir ScrollListener'tır. Gelecekte bu sorunla karşılaşan herhangi biri varsa

0

başka bir seçenek layoutmanagers ve özellikle SnapperLinearLayoutManager diğer kullanışlı özellikler ile birlikte bir düzen yöneticisinde bu davranışı sarar.

fazla bilgi için

ve örnekler

+0

Teşekkürler. Kesinlikle bunu kontrol edip bilmene izin ver – user6137836