-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Time lag before closing Shell flyout menu #7521
Comments
Seems related to #5216 (which is closed but apparently not resolved). I'm experiencing the same issue on physical devices (Samsung S8, A3, Sony Z1 Compact) and emulators. On the other hand, iOS seems to be smooth. I hope this issue will be looked into soon. |
I also have this problem! |
Is it going to be fixed? This problem exists from the very beginning and it makes flyout unusable. |
I have the same problem with a really simple setup. |
Guess it's still not solved, which is a bit frustrating as this is a major UX issue |
Moving all pages except for one top level
|
@PureWeen, can you have an alternative to avoid this lag because we must go in production and i need to know if there is something we can do until the issue to be resolved, if not we'll have to move to the default MasterDetail Navigation... |
@DanKyungu It's very sad that the Xamarin team is enjoyed with the Shell but with this bug, the Shell is really unusable because you cannot use the flyout. |
This bug is really annoying! I don't understand why something so critical seems to be ignored. |
We're definitely not ignoring it! We've marked this as one of our highest priority Shell issues to resolve in the near future. If we discover a workaround in the meantime, we will post it here. Thanks for your patience! |
I have also noticed a similar looking stutter on the Google Play store and the Outlook app. Google Play store especially when I select "My Apps & games" off the menu. Outlook sometimes when I choose a new folder. I thought it may be an inherent Android problem when starting a network fetch while an animation is running. I just tried some things out in the debugger and the animation does not begin until OnAppearing has completed. Maybe a way to kick off my async refresh after the animation completes would help. |
This ia a really big issue for us. We have to release in a month, any idea if something might be in place to fix this before then? I really don't want to go back to MasterDetail. |
I have a workaround - it's not pretty, but it stops the flyout jitter on close. My hope is that it sheds some light to the development team on a fix for this and get others a temporary workaround. It looks like the problem is that there is too much going on in the main thread while the flyout close transition is trying to run. (Android DrawerLayout CloseDrawer() animation) NOTE: this workaround addresses the Xamarin Forms logic for creating and setting the page blocking the UI thread, but any other app logic running on the UI thread will cause the same jittery "close drawer" animation. One way to mitigate this would be to listen for FlyoutIsPresented to become true and pause any update logic running from running on the UI thread until FlyoutIsPresented has been false for some period. (i.e. 1000ms) In your subclass of Shell:
@nhadro @wagenheimer @Mikilll94 @DanKyungu @VirtualNomad00 @denzerd @lv1il0s @gnout |
news about resolution? is very annoying this problem. :( |
Any update on this, has been here a while and really should be resolved? |
You can use LazyView to control the delay, |
I'm still facing this issue. Anything new on this one? iOS is working fine, only Android is lagging behind... |
Opened from one year ! |
Good boys! :) 🥇 |
Please fix this. |
@subhadrajain does this workaround doesn't work for you?#7521 (comment) |
I have tried the mentioned workaround and it did not work for me. It fixed the animation, but instead, it introduced a big lag before the new page was opened. So the overall user experience was equally bad :-( |
@holecekp this one also? #7521 (comment) Also, could you share a repro? I couldn't reproduce this issue locally in any Shell app that I made. |
@pictos 7 out of 10 times it is working fine. |
I've produced this workaround which works sufficiently for my application. It just waits for the page to load before hiding the flyout. My app has a redirect when the app loads to request permissions if the app doesn't have them hence the 'redirected' bool. This was necessary because the flyout would show on a redirect even though the user hadn't clicked the hamburger icon. I can see that it might not work in some scenarios, such as long loading page, but as I said, for me it solves the problem sufficiently.
|
Hi, everyone: I have modified a bit some code I saw here and I obtained a pretty good result. Try this:
The <<this.CurrentState?.Location.OriginalString != "//loginPage">> thing is intended to avoid the flyout menu to appear the first time I log in. Let me know it this works for you @subhadrajain @pictos @holecekp |
Also hoping this gets an official fix.. I had to combine some of the solutions here to get something that worked for me. Primarily it is Jose-Develaw's solution just above, but adding the extra condition did not stop the flyout from opening on startup for me. I also did not like the idea of omitting the fix for certain pages, so I changed it like so to avoid it triggering at startup:
OnNavigated() gets called after the initial calls to OnPropertyChanged() for "CurrentItem" so that is where the "startup" flag is updated to false. |
The same problem here, it seems to also have to do with the bindings on the page being loaded. I put a delay before "refresh my view" and it just finishes closing the menu and doesn't freeze while animating. |
Just tried this, It helped so much, No lagging and smooth transition. |
@jsuarezruiz @hartez |
There is a good saying among Russians. They have been waiting for the promised three years:) |
I also have this problem. |
Maybe in MAUI it is corrected. |
I seriously hope so
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Ángel Rubén ***@***.***>
Sent: Sunday, August 22, 2021 7:56:52 AM
To: xamarin/Xamarin.Forms ***@***.***>
Cc: Darlington ADIBE ***@***.***>; Manual ***@***.***>
Subject: Re: [xamarin/Xamarin.Forms] Time lag before closing Shell flyout menu (#7521)
Maybe in MAUI it is corrected.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#7521 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAJM6HIYZW2AAKDCTJ7QV3DT6CNTJANCNFSM4IWX5FVA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
It should be a lot better right now in MAUI. One of the issues here is that on XF shell aggressively disposes and recreates renderers every time you move between tabs/flyout items. With MAUI we aren't doing that and as you move around the native stacks are all maintained. If anyone is up for testing this out a bit on MAUI let me know your results. |
To be fair for the one that is still on XF this should be fixed. Just saying. |
Another 6 months has past and still not fixed? |
All the fixes presented here merely delays the lag to another point or hides it behind the flyout menu. Is there not a way to preload pages and just present them to a detail page similar to what the MasterDetail page did |
Finally I found this long thread… I was having this issue on XF. Now I move on to MAUI, still the similar experience. Anyone has comments or solutions for MAUI performance? |
Please fix this, I'm still facing the same issue on XS & MAUI. |
Please fix this, I'm still facing the same issue on MAUI. |
Description
I created a new project in VS just by choosing the Shell template. I converted the AppShell to have
flyout
menus instead of tabs.In the attached screen cast, when I tapped on the item that is currently displayed (the first tap is on the about page) then the side menu closes very smoothly which is the expected behavior.
When I tap on the second item (which is not currently displayed) then there is lag before the side menu closes. It seems as if the app is frozen for a few milliseconds.
Expected Behavior
I was expecting the closing of the side menu, in all cases, to be smooth
Actual Behavior
When tapping on one of the flyout menu items (not the one that is currently visible), there is a time lag before the flyout menu is closed and it looks (for a few miliseconds) that is app freezes. This behavior is displayed also to views that don;t have any data (i.e the About page)
Basic Information
Screenshots
Screen cats is from an actual device and not an emulator
screencast.zip
The text was updated successfully, but these errors were encountered: