-
Notifications
You must be signed in to change notification settings - Fork 58
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
fix: Android UI bugs #4134
fix: Android UI bugs #4134
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
2 Ignored Deployments
|
there are two raised 'bugs' on the original issue
|
to me it seems the solution is to: |
@johnsmith-gooddollar maybe the simple solution is to apply the same logic as now has been done for the scrollToTop button (which uses onMomentumEnd - end of scrolling) |
@@ -832,7 +833,10 @@ const Dashboard = props => { | |||
const handleScroll = useCallback( | |||
({ ...args }) => { | |||
dispatchScrollEvent() | |||
handleScrollEnd(args) | |||
|
|||
if (isWeb) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont understand this. does it mean that on native we will not change the header size?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HandleMomentumScroll is handling the calling for handles rollend.
So it still minimizes, but only after the scrolling has ended (at the same point that we show the toTop button)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not a good solution. Most users on mobile simply scroll and do not stay on the exact position where it jitters. So now for most mobile users the UX experience will be worse.
The solution is either to make it less sensitive when it starts the animation or to not toggle the state until the previous animation is over. so once an animation starts (large->small or small->large) you set a reference to true. once the animation ends you set it to false. at any point if the reference is true we do not change the state of the header.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so insted of if(isWeb) you would have if(isAnimationInProgress === false)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand your concern with the solution.
On momentumScroll is triggered whenever the scrollbar stops scrolling.
The moment this happens, it minimizes the header.
This is the simplest approach out there.
(If it's scrolling and you touch feed again, it's also considered onMomentumScrolEnd)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also the issue is not in the animation running.
It's about an infinite loop where it does not know which animation to run because the condition changes every 1 ms
…DAPP into 4093-fix-android-ui-bugs
Description
About # (link your issue here)
#4093
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist: