public int GetSpanSize(Android.Support.V7.Widget.GridLayoutManager gridLayoutManager , Android.Support.V7.Widget.GridLayoutManager.SpanSizeLookup oldLookup, int position ) { if (this._enclosing.IsEmpty()) { return(gridLayoutManager.SpanCount); } if (oldLookup != null) { return(oldLookup.GetSpanSize(position)); } return(1); }
public static void OnAttachedToRecyclerView(Android.Support.V7.Widget.RecyclerView.Adapter innerAdapter, Android.Support.V7.Widget.RecyclerView recyclerView, Com.Zhy.Adapter.Recyclerview.Utils.WrapperUtils.SpanSizeCallback callback) { innerAdapter.OnAttachedToRecyclerView(recyclerView); Android.Support.V7.Widget.RecyclerView.LayoutManager layoutManager = recyclerView .GetLayoutManager(); if (layoutManager is Android.Support.V7.Widget.GridLayoutManager) { Android.Support.V7.Widget.GridLayoutManager gridLayoutManager = (Android.Support.V7.Widget.GridLayoutManager )layoutManager; Android.Support.V7.Widget.GridLayoutManager.SpanSizeLookup spanSizeLookup = gridLayoutManager .GetSpanSizeLookup(); gridLayoutManager.SetSpanSizeLookup(new _SpanSizeLookup_29(callback, gridLayoutManager , spanSizeLookup)); gridLayoutManager.SpanCount = (gridLayoutManager.SpanCount); } }
public int GetSpanSize(Android.Support.V7.Widget.GridLayoutManager layoutManager, Android.Support.V7.Widget.GridLayoutManager.SpanSizeLookup oldLookup, int position ) { int viewType = this._enclosing.GetItemViewType(position); if (this._enclosing.mHeaderViews.Get(viewType) != null) { return(layoutManager.SpanCount); } else { if (this._enclosing.mFootViews.Get(viewType) != null) { return(layoutManager.SpanCount); } } if (oldLookup != null) { return(oldLookup.GetSpanSize(position)); } return(1); }
public _SpanSizeLookup_29(Com.Zhy.Adapter.Recyclerview.Utils.WrapperUtils.SpanSizeCallback callback, Android.Support.V7.Widget.GridLayoutManager gridLayoutManager, Android.Support.V7.Widget.GridLayoutManager.SpanSizeLookup spanSizeLookup) { this.callback = callback; this.gridLayoutManager = gridLayoutManager; this.spanSizeLookup = spanSizeLookup; }