{
if (item.Index < FirstVisible || item.Index > LastVisible)
{
- //Console.WriteLine("[NUI] Unrealize{0}!", item.Index);
unrealizedItems.Add(item);
colView.UnrealizeItem(item);
}
}
}
+ if (startIndex <= FirstVisible)
+ {
+ FirstVisible++;
+ LastVisible++;
+ }
+ else if (startIndex > FirstVisible && startIndex <= LastVisible)
+ {
+ LastVisible++;
+ }
+
+ if (FirstVisible > colView.InternalItemSource.Count - 1) FirstVisible = colView.InternalItemSource.Count -1;
+ if (LastVisible > colView.InternalItemSource.Count - 1) LastVisible = colView.InternalItemSource.Count -1;
float scrollPosition = PrevScrollPosition;
}
}
+ if (startIndex <= FirstVisible)
+ {
+ FirstVisible = FirstVisible + count;
+ LastVisible = LastVisible + count;
+ }
+ else if (startIndex > FirstVisible && startIndex <= LastVisible)
+ {
+ LastVisible = LastVisible + count;
+ }
+
+ if (FirstVisible > colView.InternalItemSource.Count - 1) FirstVisible = colView.InternalItemSource.Count -1;
+ if (LastVisible > colView.InternalItemSource.Count - 1) LastVisible = colView.InternalItemSource.Count -1;
+
// Position Adjust
float scrollPosition = PrevScrollPosition;
/*
}
VisibleItems.Remove(targetItem);
+
+ if (startIndex <= FirstVisible)
+ {
+ FirstVisible--;
+ LastVisible--;
+ }
+ else if (startIndex > FirstVisible && startIndex <= LastVisible)
+ {
+ LastVisible--;
+ }
+
+ if (FirstVisible < 0) FirstVisible = 0;
+ if (LastVisible < 0) LastVisible = 0;
+
// Position Adjust
float scrollPosition = PrevScrollPosition;
/*
VisibleItems.RemoveAll(unrealizedItems.Contains);
unrealizedItems.Clear();
+ if (startIndex <= FirstVisible)
+ {
+ FirstVisible = FirstVisible - count;
+ LastVisible = LastVisible - count;
+ }
+ else if (startIndex > FirstVisible && startIndex <= LastVisible)
+ {
+ LastVisible = LastVisible - count;
+ }
+
+ if (FirstVisible < 0) FirstVisible = 0;
+ if (LastVisible < 0) LastVisible = 0;
+
// Position Adjust
float scrollPosition = PrevScrollPosition;
/*
}
}
+ if (fromPosition > FirstVisible)
+ {
+ if (toPosition > LastVisible)
+ {
+ FirstVisible--;
+ LastVisible--;
+ }
+ else if (toPosition > FirstVisible && toPosition <= LastVisible)
+ {
+ LastVisible--;
+ }
+ }
+ else if (fromPosition >= FirstVisible && fromPosition <= LastVisible)
+ {
+ if (toPosition < FirstVisible)
+ {
+ FirstVisible++;
+ }
+ else if (toPosition > LastVisible)
+ {
+ LastVisible--;
+ }
+ }
+ else if (fromPosition > LastVisible)
+ {
+ if (toPosition <= FirstVisible)
+ {
+ FirstVisible++;
+ LastVisible++;
+ }
+ else if (toPosition > FirstVisible && toPosition <= LastVisible)
+ {
+ LastVisible++;
+ }
+ }
+
+ if (FirstVisible < 0) FirstVisible = 0;
+ if (LastVisible < 0) LastVisible = 0;
+ if (FirstVisible > colView.InternalItemSource.Count - 1) FirstVisible = colView.InternalItemSource.Count -1;
+ if (LastVisible > colView.InternalItemSource.Count - 1) LastVisible = colView.InternalItemSource.Count -1;
+
+
if (IsHorizontal) colView.ContentContainer.SizeWidth = ScrollContentSize;
else colView.ContentContainer.SizeHeight = ScrollContentSize;
}
}
}
+ // FIXME!! Unraelize All and reset First/Last Visible
+ foreach (RecyclerViewItem item in VisibleItems)
+ {
+ colView.UnrealizeItem(item);
+ }
+ VisibleItems.Clear();
+ FirstVisible = 0;
+ LastVisible = 0;
// Position Adjust
float scrollPosition = PrevScrollPosition;