Skip to content
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

FlyoutPage inside a NavigationPage causes different behavior between Android and iOS #18228

Open
DouglasGiovanella opened this issue Oct 21, 2023 · 2 comments
Labels
area-controls-flyoutpage FlyoutPage area-navigation NavigationPage migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert platform/android 🤖 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Milestone

Comments

@DouglasGiovanella
Copy link

Description

We are migrating our app from Xamarin forms (5.0.0.2612) to Maui in the last weeks and we encountered a deal breaker when testing the android version. We use a single navigationPage for all the app lifeCycle, so when the user first opens the app, the root page is a LoginPage, if authentication succeed, he is directed to a logged area, that is a FlyoutPage with all the app features.
After migrating the project to Maui (.net 7 - 7.0.96), we tested on iOS and this behavior worked just fine (beside some events that the navigationPage is trigging in a different order), but on Android the Hamburger menu did not appear. After testing the flyoutSample we discover that the problem was because the FlyoutPage is not the application MainPage.

The expected behaviour would be two toolbars appearing, on Xamarin Forms (Android and iOS) and Maui iOS we use the NavigationPage.HasNavigationBar="False" to hide one of then, but this don't seems to work either on Maui Android.

Here same examples:
Maui iOS
image

Maui iOS with NavigationPage.HasNavigationBar="False" in the FlyoutPage:
image

Maui Android in both cases:
image

My guess that this is a problem caused by the new Navigation on Android, since on iOS its stiils uses the old one from XF.

Steps to Reproduce

No response

Link to public reproduction project repository

https://github.com/DouglasGiovanella/MauiFlyoutSample

Version with bug

7.0.96

Is this a regression from previous behavior?

Yes, this used to work in Xamarin.Forms

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

No response

Did you find any workaround?

Just changing the application MainPage to use directly the FlyoutPage, for us is a big structural change, but maybe can help someone else.

Relevant log output

No response

@DouglasGiovanella DouglasGiovanella added the t/bug Something isn't working label Oct 21, 2023
@jsuarezruiz jsuarezruiz added this to the Backlog milestone Oct 23, 2023
@ghost
Copy link

ghost commented Oct 23, 2023

We've added this issue to our backlog, and we will work to address it as time and resources allow. If you have any additional information or questions about this issue, please leave a comment. For additional info about issue management, please read our Triage Process.

@XamlTest XamlTest added s/verified Verified / Reproducible Issue ready for Engineering Triage s/triaged Issue has been reviewed labels Oct 24, 2023
@XamlTest
Copy link
Collaborator

Verified this on Visual Studio Enterprise 17.8.0 Preview 4.0(8.0.0-rc.2.9373). Repro on Android 14.0-API34, not repro on iOS 16.4 with below Project:
FlyoutTest.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-controls-flyoutpage FlyoutPage area-navigation NavigationPage migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert platform/android 🤖 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants