public void LinearLayouterRequestLayout() { tlog.Debug(tag, $"LinearLayouterRequestLayout START"); var view = new CollectionView(new List <string>() { "123", "456", "789" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var linearLayouter = new LinearLayouter(); Assert.IsNotNull(linearLayouter, "Should not be null"); linearLayouter.Initialize(view); linearLayouter.RequestLayout(5.0f); linearLayouter.RequestLayout(150.0f, true); view.Dispose(); linearLayouter.Dispose(); tlog.Debug(tag, $"LinearLayouterRequestLayout END (OK)"); }
public void LinearLayouterRequestNextFocusableView() { tlog.Debug(tag, $"LinearLayouterRequestNextFocusableView"); var view = new CollectionView(new List <string>() { "123", "456" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var linearLayouter = new LinearLayouter(); Assert.IsNotNull(linearLayouter, "Should not be null"); linearLayouter.Initialize(view); linearLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; var orientationSize = linearLayouter.CalculateLayoutOrientationSize(); Assert.AreEqual(orientationSize, 6); var scrollPosition = linearLayouter.CalculateCandidateScrollPosition(0.0f); Assert.AreEqual(scrollPosition, 0.0f); linearLayouter.NotifyItemRangeInserted(source, 0, 10); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.Up, true); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.Down, true); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.PageUp, true); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.PageDown, true); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.Left, true); linearLayouter.RequestNextFocusableView(view, View.FocusDirection.Right, true); view.Dispose(); linearLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"LinearLayouterRequestNextFocusableView END (OK)"); }
public void LinearLayouterNotifyItemRemoved() { tlog.Debug(tag, $"LinearLayouterNotifyItemRemoved"); var view = new CollectionView(new List <string>() { "123", "456" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var linearLayouter = new LinearLayouter(); Assert.IsNotNull(linearLayouter, "Should not be null"); linearLayouter.Initialize(view); linearLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; linearLayouter.NotifyItemRangeInserted(source, 0, 1); linearLayouter.NotifyItemRemoved(source, 0); linearLayouter.NotifyItemRangeInserted(source, 0, 2); linearLayouter.NotifyItemRemoved(source, 1); var emptySource = new CustomEmptySource(); linearLayouter.NotifyItemInserted(emptySource, 1); linearLayouter.NotifyItemRemoved(emptySource, 1); view.Dispose(); linearLayouter.Dispose(); source.Dispose(); emptySource.Dispose(); tlog.Debug(tag, $"LinearLayouterNotifyItemRemoved END (OK)"); }
public void LinearLayouterNotifyItemSizeChanged() { tlog.Debug(tag, $"LinearLayouterNotifyItemSizeChanged"); var view = new CollectionView(new List <string>() { "123" }) { Header = new RecyclerViewItem(), IsGrouped = false, }; Assert.IsNotNull(view, "Should not be null"); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var emptySource = new CustomEmptySource(); var linearLayouter = new LinearLayouter(); Assert.IsNotNull(linearLayouter, "Should not be null"); linearLayouter.Initialize(view); var item = new RecyclerViewItem() { Size = new Size(200, 100), }; //linearLayouter.NotifyItemSizeChanged(item); item.Dispose(); view.Dispose(); linearLayouter.Dispose(); tlog.Debug(tag, $"LinearLayouterNotifyItemSizeChanged END (OK)"); }