This repository has been archived by the owner on May 1, 2024. It is now read-only.
[Spec] My experience with trying to use CollectionView and SwipeView - and a request #12599
Labels
a/listview
Problems with the ListView/TableView
a/swipeview
m/high impact ⬛
proposal-open
t/enhancement ➕
Hi. I really like and appreciate Xamarin.Forms but I wanted to detail my experience with trying to use a new component, along with a plea for ensuring I can release my service.
My use case is simple - I want to display chat messages in some kind of list form, where individual chat messages can be deleted. So far I've been using a bindable StackLayout but wanted to replace it with a proper virtualising list as I'm nearing release.
CollectionView is no longer marked as experimental, but this is the amount of bugs I encountered for this simple use case:
#12555 (a total blocker)
#12601 (blocker, with a partial workaround found but for iOS only)
#12675 (not absolutely a blocker but completely screws up the layout)
These I found workarounds for:
#12576 (contents getting messed up layouts after modifying elements)
#12554 (elements requiring a scrolling action for the contents to align)
#12622 (refresh view issue when all elements are not of equal height)
#12697 (dynamically assigned element height issue, with workaround for uniform elements)
#12553 (this just breaks hot reload so is not a blocker)
SwipeView is still experimental but these are blockers for me:
#12518 (four issues in this report that are closely related and totally blockers)
#12614 (annoying but can be designed around)
I thought I'd use a ListView instead (which has been deprecated but largely works), but ran into:
#12555 (this is the same blocker issue as for the collection view, ie that adding items when items are of different heights things jump around once. I found an insane workaround for it but it's not a good workaround)
#12598 (may be caused by hot reload so not necessarily a blocker)
#12615 (annoying but not absolutely fatal)
The reason I even thought about using ListView is that the memory leaks seem to finally have been fixed with PR #12535, but unfortunately it's not in a build yet.
So all in all -- I am in a total pinch here until at least #12555 and #12518 are fixed, and in a bad place until #12601 is fixed.
I find it quite disheartening having to spend this much time testing every single component just to find several blockers in them as well, in my very-much-not-an-advanced-use-case. Something that should have taken a very limited amount of time turned into a long time of investigations and me making documents of alternative paths to take depending on what gets fixed in what time frame.
I think most CollectionView issues have the root cause #11511 which is caused by #10842, so fixing that one thing only may make it a usable component. Just fixing two of the issues in (#12518), that SwipeView constantly opens accidentally as it's too sensitive, and then proceeds to lock the UI completely, would make it usable.
But as it stands right now I am completely at the mercy of these getting fixed, and the MeasureAllItems issue in CollectionView has been open for half a year. So I am begging you to fix it to make CollectionView usable, or provide some guidance on how to get to release if it's not fixed (this post details what I've tried so far). I would also want to trust the components a bit more as the list of issues is quite large for a very cursory look at technology which is no longer marked as experimental.
Thank you so much for creating this technology and supporting it! I just want to be able to ship a product made with this. Because of Xamarin.Forms I settled for a complete Microsoft ecosystem, including Microsoft technology and Azure hosting for the backend and Microsoft productivity suites. So if you need messaging for the big wigs at the mothership regarding resources, Xamarin.Forms provides an entry to other Microsoft services that generate revenue.
The text was updated successfully, but these errors were encountered: