-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Bug] SwipeView is too sensitive - opens when scrolling #12518
Comments
Issue two: Another bug with the swipe menu, which is almost as bad, is that when you are scrolling a view and during that same scroll do a slight horizontal movement, the swipe menu starts opening. If a vertical scroll is ongoing the swipe menu should not open. It should only open if the user starts with a horizontal swipe. These issues are mostly apparent when using an actual device one-handedly, not so much with a mouse in the simulator. |
Issue three: A third bug with the swipe view is that very often when you start scrolling and the swipe menu accidentally opens (as outlined in the initial message) and you stop scrolling, the UI breaks in two possible ways (seemingly randomly)
So to clarify:
I think these are all related and possibly the same issue, can't say for sure. |
I am positive that a repro with merely a list of items (enough to simulate a normal scrolling of content experience) and swipe view in all of them, when run on an actual device, is enough to repro all these issues. It is very important to do this on a real device, use it one handedly as people normally do and they should all be reproducible. I also have a video that showcases all the above issues just by trying to scroll my scroll view. Please let me know where to send it in case it would be useful (don't want to post it publicly). Thank you for a prompt fix! |
Issue four: It a swipe view is open and you try to invoke it again (in my case swipe left again on an already opened swipe view), its animation glitches. Expected behavior is that the open swipe view gesture wouldn’t do anything if it’s already open. |
Fix suggestions (in order of impact):
@jsuarezruiz Hi, I saw you added the collection view tag. This is not exclusive to collection views, I use bindable stack layouts with a scroll view. In fact I haven’t tested this with a collection view (updated the OP to say this). |
Same as @Tommigun1980 , I do also encountered many times the "UI break" (not able to scroll anymore until I swipe an item). My configuration :
This is how I'm able to reproduce it :
Up to this point :
|
Thank you @jsuarezruiz for fixing the lock up issue. Is there a PR for the sensitivity issue yet or do you think it will also be fixed hopefully soonish? It is a real problem that panning a collection constantly opens the swipe view by accident, as it's so hard to do pixel perfect vertical swipes with your fingers on an actual device? It is almost inevitable to constantly open the swipe items by accident :( Thank you so much for working so hard to fix these issues, we really appreciate it! |
After a quick look at the current SwipeView android render, I noticed the constant "SwipeMinimumDelta". `bool ShouldInterceptTouch(MotionEvent e)
|
Hi! This issue still persists, that when a view is scrolled the SwipeViews constantly pop up by accident. It is so bad I don't think I could use it in production yet. Do you guys think this could be fixed at some point? Thanks so much! |
Hi, just checking in on where this stands. This is still an issue on Android and I only see #12758 which is only targeting ios. Should a new request be opened? |
From what I understand the current issue is still open, therefore there is no need to open a new one. //Check if swipe delta is too small and release touch
I hope this helps some of you, until this is taken care in a future release |
This is a great work-around, thanks kaniosm. I haven't tried this yet as it adds a bit of overhead to my releases but I may have to resort to using it. |
why can't it take so long to fix such seemingly simple things ... it just kills |
SwipeView is not ready for production use. UX is absolutely horrible. |
@jsuarezruiz we need help! tell me this issue will be resolved? |
Sadly, I agree. I've removed it from my production app in replace of just straight buttons. It ended up being a good decision especially since the SwipeView has not gotten enough love. |
@samhouts @jsuarezruiz do you know if there is some sort of ETA on this? I have 4 applications that have been holding release due to this one little issue. I am now working to remove SwipeView in order to get other features released. |
Is there any other alternative or library that we can use for swipeview? |
i found out this alternative, maybe it can work: https://github.com/AndreiMisiukevich/ContextMenu |
Hi @Tommigun1980 , |
Is there nothing new on this issue? |
There is a threshold property that you can use. I set it to 300 to make it compatible with Iphone 5 screens. It worked OK as temporary solution to this. I hope this get fixed properly on future xamarin.forms releases. "SwipeView includes a Threshold property, of type double, which represents the number of device-independent units that trigger a swipe gesture to fully reveal swipe items." |
@vhugogarcia Thank you for your response! We have this issue that actually blocks the release of our app: on a CollectionView with tap gesture AND SwipeView on items, when the user tap over an item, the swipe action prevent the tap execution very often. |
That is correct my friend. There is no solution for the sensitivity. However, that property helped me to define a 300 and prevented users to open it while scrolling. Give it a try. It is a temp solution only. |
I wrote a dirty workaround via CustomRenderer and Refelection for Android which implements the solution from @kaniosm
Does this sensitivity problem also still exist on iOS? Haven't tried it out yet on iOS. |
Very good @Zwawoo! I've tested this approach and it works well... since you can apply the render to SwipeView and there is no need to create a new control. Regarding SwipeView in iOS, unfortunately things are much worse
I really hope all those issues are resolved with MAUI... |
Besides your points (which I can confirm), I´ll add another Point: 5.1 If you try to disable swipe while scrolling in a listview it will start flickering or |
Hi.
Issue one: SwipeView is great. I use it for deleting chat messages and leaving chat rooms, by the user swiping left on a message or a chat. However, there seems to be absolutely no threshold for the swipe to happen, as it constantly opens whenever I scroll the list of chat messages or chat rooms. It is almost impossible to swipe perfectly vertically, so any even absolutely slight horizontal movement opens the swipe menu. The threshold value should be at least equal to a tap gesture recognisers default threshold value (and preferably scriptable) - because currently both a tap and swipe start open overlap.
This might sound like a small thing, but it completely breaks the experience as almost every scroll opens the swipe menu.
I think this would be a small fix that would make it immensely more usable so I am eagerly awaiting a fix for it.
Tested with latest XF 5 pre-release on iOS. I used the SwipeView in a bindable stack layout, enclosed in a scroll view.
Thank you.
The text was updated successfully, but these errors were encountered: