-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RefreshContainer is not intuitive to use as a user (not developer) #15529
Comments
This behavior might be different on mobile with touch. But valid points, nonetheless. |
I just checked on Android (since the iOS deployment is broken #14933) and the behavior is absolutely the same. We cannot use this container because our users will not understand why refreshing is not working (as it only does if you pull down the very first item of a list) Please consider providing the requested override mechanism so we can at least fix it ourselves in our projects. |
@gentledepp I think I like your previous idea shown in |
Sure thing. But please understand that before I can work on these fun thing, I need to somehow fix #14933 first. |
Hey, I would be down to implement this improvement. Since @gentledepp didn't create a PR since now, I would guess that there is no work done on it |
Describe the bug
If the RefreshContainer is configured to refresh with
PullDirection.TopToBottom
and contains a list,This is counterintuitive to most users.
Also: You have to klick into the list first (i.e. select an item of the list in the ControlGallery/RefreshContainer sample).
Then, with the second click, you can finally start the "pull2refresh" action:
To Reproduce
Run the ControlGallery app on iOS/Android and go to the RefreshContainer sample.
Try to refresh.
It took me very long (including looking up the code on github) to finally figure out that the first list item has to be dragged.
Expected behavior
On Android/iOS the behavior is typically as such:
Instead of having to drag down the first item of a list,
you can drag down on any part of the RefreshContainer.
If the list is not scrolled to the top, the this gesture is interpreted as a scroll gesture => the list scrolls up
If we are scrolled to the top of the list alreaedy (when using
PullDirection.TopToBottom
), the "refresh" logic kicks in.This can be easily implemented by allowing to override the "canpull" in PullGestureRecognizer
And then overriding this in the ScrollViewerIRefreshInfoProviderAdapter:
Also, a list item should only be selected on "pointerUP", not on "pointerPRESSED". Because then, you do not have to
Avalonia version
11.1
OS
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: