/// <summary> /// Initializes a new instance of the LinearLayoutManager class. /// </summary> /// <param name="isHorizontal">Layout orientation</param> /// <param name="sizingStrategy">Item size measuring strategy</param> /// <param name="itemSpacing">A space size between items</param> #pragma warning disable CS8618 public LinearLayoutManager(bool isHorizontal, ItemSizingStrategy sizingStrategy, int itemSpacing) #pragma warning restore CS8618 { IsHorizontal = isHorizontal; _hasUnevenRows = sizingStrategy == ItemSizingStrategy.MeasureAllItems; ItemSpacing = itemSpacing; }
public static T ItemSizingStrategy <T>(this T structuredElement, ItemSizingStrategy itemSizingStrategy) where T : StructuredItemsView { structuredElement.ItemSizingStrategy = itemSizingStrategy; return(structuredElement); }
public GridLayoutManager(bool isHorizontal, int span, ItemSizingStrategy sizingStrategy, int verticalSpacing, int horizontalSpacing) { IsHorizontal = isHorizontal; Span = span; _hasUnevenRows = sizingStrategy == ItemSizingStrategy.MeasureAllItems; VerticalItemSpacing = verticalSpacing; HorizontalItemSpacing = horizontalSpacing; }
public static TItemSizingStrategy ToPlatform(this ItemSizingStrategy itemSizingStrategy) { if (itemSizingStrategy == ItemSizingStrategy.MeasureAllItems) { return(TItemSizingStrategy.MeasureAllItems); } return(TItemSizingStrategy.MeasureFirstItem); }
static void UpdateExplanation(Label explanation, ItemSizingStrategy strategy) { switch (strategy) { case ItemSizingStrategy.MeasureAllItems: explanation.Text = "Each item is individually measured."; break; case ItemSizingStrategy.MeasureFirstItem: explanation.Text = "The first item is measured, and that size is given to all subsequent cells."; break; } }
protected ItemsViewLayout(ItemsLayout itemsLayout, ItemSizingStrategy itemSizingStrategy) { ItemSizingStrategy = itemSizingStrategy; _itemsLayout = itemsLayout; _itemsLayout.PropertyChanged += LayoutOnPropertyChanged; var scrollDirection = itemsLayout.Orientation == ItemsLayoutOrientation.Horizontal ? UICollectionViewScrollDirection.Horizontal : UICollectionViewScrollDirection.Vertical; Initialize(scrollDirection); if (Forms.IsiOS11OrNewer) { // `ContentInset` is actually the default value, but I'm leaving this here as a note to // future maintainers; it's likely that someone will want a Platform Specific to change this behavior // (Setting it to `SafeArea` lets you do the thing where the header/footer of your UICollectionView // fills the screen width in landscape while your items are automatically shifted to avoid the notch) SectionInsetReference = UICollectionViewFlowLayoutSectionInsetReference.ContentInset; } }
/// <summary> /// Initializes a new instance of the LinearLayoutManager class. /// </summary> /// <param name="isHorizontal">Layout orientation</param> /// <param name="sizingStrategy">Item size measuring strategy</param> public LinearLayoutManager(bool isHorizontal, ItemSizingStrategy sizingStrategy) : this(isHorizontal, sizingStrategy, 0) { }
protected virtual ItemsViewLayout SelectLayout(IItemsLayout layoutSpecification, ItemSizingStrategy itemSizingStrategy) { if (layoutSpecification is GridItemsLayout gridItemsLayout) { return(new GridViewLayout(gridItemsLayout, itemSizingStrategy)); } if (layoutSpecification is ListItemsLayout listItemsLayout) { return(new ListViewLayout(listItemsLayout, itemSizingStrategy)); } // Fall back to vertical list return(new ListViewLayout(new ListItemsLayout(ItemsLayoutOrientation.Vertical), itemSizingStrategy)); }
public static ICollectionViewLayoutManager ToLayoutManager(this IItemsLayout layout, ItemSizingStrategy sizing = ItemSizingStrategy.MeasureFirstItem) { switch (layout) { case LinearItemsLayout listItemsLayout: return(new LinearLayoutManager(listItemsLayout.Orientation == ItemsLayoutOrientation.Horizontal, sizing, Forms.ConvertToScaledPixel(listItemsLayout.ItemSpacing))); case GridItemsLayout gridItemsLayout: return(new GridLayoutManager(gridItemsLayout.Orientation == ItemsLayoutOrientation.Horizontal, gridItemsLayout.Span, sizing, Forms.ConvertToScaledPixel(gridItemsLayout.VerticalItemSpacing), Forms.ConvertToScaledPixel(gridItemsLayout.HorizontalItemSpacing))); default: break; } return(new LinearLayoutManager(false)); }
public GridLayoutManager(bool isHorizontal, int span, ItemSizingStrategy sizingStrategy) : this(isHorizontal, span, sizingStrategy, 0, 0) { }
public GridLayoutManager(bool isHorizontal, int span, ItemSizingStrategy sizingStrategy) { IsHorizontal = isHorizontal; Span = span; _hasUnevenRows = sizingStrategy == ItemSizingStrategy.MeasureAllItems; }
protected override ItemsViewLayout SelectLayout(IItemsLayout layoutSpecification, ItemSizingStrategy itemSizingStrategy) { if (layoutSpecification is ListItemsLayout listItemsLayout) { return(new CarouselViewLayout(listItemsLayout, itemSizingStrategy, CarouselView)); } // Fall back to horizontal carousel return(new CarouselViewLayout(new ListItemsLayout(ItemsLayoutOrientation.Horizontal), itemSizingStrategy, CarouselView)); }
public static T ItemSizingStrategy <T>(this T structureditemsview, ItemSizingStrategy itemSizingStrategy) where T : IRxStructuredItemsView { structureditemsview.ItemSizingStrategy = itemSizingStrategy; return(structureditemsview); }
public GridViewLayout(GridItemsLayout itemsLayout, ItemSizingStrategy itemSizingStrategy) : base(itemsLayout, itemSizingStrategy) { _itemsLayout = itemsLayout; }
public CarouselViewLayout(ItemsLayout itemsLayout, ItemSizingStrategy itemSizingStrategy, CarouselView carouselView) : base(itemsLayout, itemSizingStrategy) { _carouselView = carouselView; _itemsLayout = itemsLayout; }
public static StructuredItemsView ItemSizingStrategy(this StructuredItemsView items, ItemSizingStrategy strategy) { items.ItemSizingStrategy = strategy; return(items); }
public ListViewLayout(LinearItemsLayout itemsLayout, ItemSizingStrategy itemSizingStrategy) : base(itemsLayout, itemSizingStrategy) { }
public LinearLayoutManager(bool isHorizontal, ItemSizingStrategy sizingStrategy) { IsHorizontal = isHorizontal; _hasUnevenRows = sizingStrategy == ItemSizingStrategy.MeasureAllItems; }