private void CreateView(HorizontalListView horizontalList) { var recyclerView = new SlowRecyclerView(Context); Element.OnScrollRequested += Element_OnScrollRequested; if (Element.ListLayout == HorizontalListViewLayout.Grid) { recyclerView.SetLayoutManager( Element.GridColumnCount == 0 ? new ResponsiveGridLayoutManager(Context, Element.ItemWidth, Element.ItemSpacing) : (GridLayoutManager) new CustomGridLayoutManager(Context, Element.GridColumnCount)); } else { recyclerView.SetLayoutManager(new CustomLinearLayoutManager(Context, OrientationHelper.Horizontal, false)); } if (Element.ItemSpacing > 0 || Element.CollectionPadding != new Thickness(0)) { recyclerView.AddItemDecoration(new SpaceItemDecoration(Element.ItemSpacing, Element.CollectionPadding)); } SetNativeControl(recyclerView); if (Element.SnapStyle != SnapStyle.None) { var snapHelper = Element.SnapStyle == SnapStyle.Start ? new StartSnapHelper() : new LinearSnapHelper(); snapHelper.AttachToRecyclerView(Control); } Control.HorizontalScrollBarEnabled = false; if (Element.ItemsSource != null) { UpdateItemsSource(); } if (LinearLayoutManager != null) { Control.AddOnScrollListener(new OnControlScrollChangedListener(this, horizontalList)); ProcessDisableScroll(); if (HorizontalLinearLayoutManager != null) { ScrollToCurrentItem(); } } Control.ViewTreeObserver.PreDraw += OnPreDraw; }
private void CreateView(HorizontalListView horizontalList) { if (_isFirstInitialization) { Element.CheckConsistency(); _isFirstInitialization = false; } var recyclerView = new SlowRecyclerView(Context, Element.ScrollSpeed) { HasFixedSize = false }; SetListLayout(recyclerView); SetNativeControl(recyclerView); if (Element.SnapStyle != SnapStyle.None) { LinearSnapHelper snapHelper = Element.SnapStyle == SnapStyle.Start ? new StartSnapHelper(this) : new CenterSnapHelper(this); snapHelper.AttachToRecyclerView(Control); } Control.HorizontalScrollBarEnabled = false; if (Element.ItemsSource != null) { UpdateItemsSource(); } if (LinearLayoutManager != null) { Control.AddOnScrollListener(new OnControlScrollChangedListener(this, horizontalList)); ProcessDisableScroll(); if (HorizontalLinearLayoutManager != null) { ScrollToCurrentItem(); } } Control.ViewTreeObserver.PreDraw += OnPreDraw; }
private void CreateView(HorizontalListView horizontalList) { if (_isFirstInitialization) { Element.CheckConsistency(); _isFirstInitialization = false; } var recyclerView = new SlowRecyclerView(Context, Element.ScrollSpeed) { HasFixedSize = true }; if (Element.ListLayout == HorizontalListViewLayout.Grid) { recyclerView.SetLayoutManager(new ResponsiveGridLayoutManager(Context, Element)); } else { recyclerView.SetLayoutManager(new CustomLinearLayoutManager(Context, OrientationHelper.Horizontal, false)); } if (Element.ItemSpacing > 0 || Element.CollectionPadding != new Thickness(0)) { recyclerView.AddItemDecoration(new SpaceItemDecoration(Element.ItemSpacing, Element.CollectionPadding)); if (!(Element.ListLayout == HorizontalListViewLayout.Grid && Element.ColumnCount == 0)) { recyclerView.SetPadding( PlatformHelper.Instance.DpToPixels(Element.CollectionPadding.Left), PlatformHelper.Instance.DpToPixels(Element.CollectionPadding.Top), PlatformHelper.Instance.DpToPixels(Element.CollectionPadding.Right), PlatformHelper.Instance.DpToPixels(Element.CollectionPadding.Bottom)); } recyclerView.SetClipToPadding(false); } SetNativeControl(recyclerView); if (Element.SnapStyle != SnapStyle.None) { LinearSnapHelper snapHelper = Element.SnapStyle == SnapStyle.Start ? new StartSnapHelper(this) : new CenterSnapHelper(this); snapHelper.AttachToRecyclerView(Control); } Control.HorizontalScrollBarEnabled = false; if (Element.ItemsSource != null) { UpdateItemsSource(); } if (LinearLayoutManager != null) { Control.AddOnScrollListener(new OnControlScrollChangedListener(this, horizontalList)); ProcessDisableScroll(); if (HorizontalLinearLayoutManager != null) { ScrollToCurrentItem(); } } Control.ViewTreeObserver.PreDraw += OnPreDraw; }