public void GridLayouterNotifyItemInserted() { tlog.Debug(tag, $"GridLayouterNotifyItemInserted"); 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 gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); gridLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; gridLayouter.NotifyItemInserted(source, 0); source.Position = 4; gridLayouter.NotifyItemInserted(source, 0); gridLayouter.NotifyItemInserted(source, 1); var emptySource = new CustomEmptySource(); gridLayouter.NotifyItemInserted(emptySource, 1); var item = new RecyclerViewItem() { Size = new Size(200, 100), }; gridLayouter.NotifyItemSizeChanged(item); item.Dispose(); view.Dispose(); gridLayouter.Dispose(); source.Dispose(); emptySource.Dispose(); tlog.Debug(tag, $"GridLayouterNotifyItemInserted END (OK)"); }
public void ItemsLayouterRequestNextFocusableView() { tlog.Debug(tag, $"ItemsLayouterRequestNextFocusableView"); var view = new CollectionView(new List <string>() { "123", "456" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); #pragma warning disable Reflection // The code contains reflection view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); #pragma warning restore Reflection // The code contains reflection #pragma warning disable Reflection // The code contains reflection view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); #pragma warning restore Reflection // The code contains reflection #pragma warning disable Reflection // The code contains reflection view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); #pragma warning restore Reflection // The code contains reflection var itemsLayouter = new ItemsLayouterImpl(); Assert.IsNotNull(itemsLayouter, "Should not be null"); itemsLayouter.Initialize(view); itemsLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; var orientationSize = itemsLayouter.CalculateLayoutOrientationSize(); tlog.Debug(tag, "orientationSize : " + orientationSize); var scrollPosition = itemsLayouter.CalculateCandidateScrollPosition(0.0f); tlog.Debug(tag, "scrollPosition : " + scrollPosition); itemsLayouter.NotifyItemRangeInserted(source, 0, 10); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.Up, true); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.Down, true); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.PageUp, true); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.PageDown, true); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.Left, true); itemsLayouter.RequestNextFocusableView(view, View.FocusDirection.Right, true); view.Dispose(); itemsLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"ItemsLayouterRequestNextFocusableView END (OK)"); }
public void GridLayouterRequestNextFocusableView() { tlog.Debug(tag, $"GridLayouterRequestNextFocusableView"); 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 gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); gridLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; var orientationSize = gridLayouter.CalculateLayoutOrientationSize(); Assert.AreEqual(orientationSize, 6); var scrollPosition = gridLayouter.CalculateCandidateScrollPosition(0.0f); Assert.AreEqual(scrollPosition, 0.0f); gridLayouter.NotifyItemRangeInserted(source, 0, 10); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Up, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Down, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.PageUp, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.PageDown, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Left, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Right, true); view.Dispose(); gridLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"GridLayouterRequestNextFocusableView END (OK)"); }
public void LinearLayouterNotifyItemRangeMoved() { tlog.Debug(tag, $"LinearLayouterNotifyItemRangeMoved"); 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.NotifyItemRangeMoved(source, 11, 16, 5); view.Dispose(); linearLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"LinearLayouterNotifyItemRangeMoved END (OK)"); }
public void LinearLayouterNotifyItemRangeInserted() { tlog.Debug(tag, $"LinearLayouterNotifyItemRangeInserted"); 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, FooterIndex = 2, }; linearLayouter.NotifyItemRangeInserted(source, 0, 3); source.Position = 6; linearLayouter.NotifyItemRangeInserted(source, 0, 1); linearLayouter.NotifyItemRangeInserted(source, 1, 1); view.Dispose(); linearLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"LinearLayouterNotifyItemRangeInserted END (OK)"); }