Open janne-hmp opened 1 month ago
Hi I'm an AI powered bot that finds similar issues based off the issue title.
Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!
Note: You can give me feedback by thumbs upping or thumbs downing this comment.
I see a lot of files in your project 😄 can you maybe be a bit more specific where in your code you are seeing this behavior?
Does this happen in the File | New template for you?
Can you change these values here: https://github.com/hyvanmielenpelit/GnollHack/blob/a198e58835dac23f6cb5e539919e09c39d8cc768/win/win32/xpl/GnollHackM/Platforms/Android/Resources/values/colors.xml#L4
And let us know if that influences the behavior?
I think this always worked this way, I wonder why this changed between preview 6 and 7?
The notification bar used to be hidden, i.e., empty with just black. It is still like that on the game's MainPage, but then suddenly the bar fades in on all other pages (?). This may be related to Android SDK version 35 somehow.
Yes, changing PrimaryDark to "#000000" (<color name="colorPrimaryDark">#000000</color>
) did change the notification bar's background color to black, but obviously did not hide it. The notification bar fades in when a modal page scrolls in, and fades out when the modal page scrolls out. Note also that there is both the top bar and the bottom bar on modal pages, while on MainPage there's neither.
Currently, the system bars are hidden using the following Android functions in MainActivity, which seems to work on MainPage, but not on modal pages anymore. (Also, Xamarin Android works still just fine using the same code.)
Window.AddFlags(WindowManagerFlags.Fullscreen);
...
activity.Window.SetDecorFitsSystemWindows(false);
activity.Window.InsetsController?.Hide(WindowInsets.Type.SystemBars());
if (activity.Window.InsetsController != null)
activity.Window.InsetsController.SystemBarsBehavior = (int)WindowInsetsControllerBehavior.ShowTransientBarsBySwipe;
There's a remark in Visual Studio that SetDecorFitsSystemWindows has been obsoleted in Android SDK version 35. That does not seem to explain though, why things work on MainPage, but not on modal pages.
This may have something to do with the fact that App.Current.MainPage
was deprecated and I had changed App.Current.MainPage.Navigation.PushModalAsync(page)
to App.Current.Windows[0].Navigation.PushModalAsync(page)
. I now also tried just Navigation.PushModalAsync(page) (via ContentPage), but the result stays the same.
EDIT: In .NET 8.0: The default MAUI project seems to work just fine in this respect, but I have still no idea what my app does differently from the default app in showing modal pages. In GnollHack, I did override OnCreateWindow as per the Preview 7 instructions but setting App.MainPage instead of overridden window creation does not seem to help here.
EDIT: In .NET 9.0 Preview 7, the same blue bar appears in the default MAUI app on Android on a modal page, when you hide the bars as per the other comments.
I can also confirm that this happens in the default MAUI app in 9.0 Preview 7 when you hide the bars as per above:
Window.AddFlags(WindowManagerFlags.Fullscreen);
...
activity.Window.SetDecorFitsSystemWindows(false);
activity.Window.InsetsController?.Hide(WindowInsets.Type.SystemBars());
if (activity.Window.InsetsController != null)
activity.Window.InsetsController.SystemBarsBehavior = (int)WindowInsetsControllerBehavior.ShowTransientBarsBySwipe;
I tested earlier accidently 8.0, which worked fine.
The main page (no blue bar):
There's a modal page added to the click button (it is mostly all beige), and when it opens the page, the blue bar and the bottom navigation bar both fade in, also resulting in janky readjustment of the screen size:
If anybody knows any workarounds for this, let me know, or should I just wait for RC1?
I can confirm this still happens in RC1.
Need a way to modify dialog.Window before model(dialog) is displayed eg:set BarColor to Transparent
window.ClearFlags(WindowManagerFlags.TranslucentStatus);
window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
window.SetStatusBarColor(Android.Graphics.Color.Transparent);
window.SetNavigationBarColor(Android.Graphics.Color.Transparent);
Description
Compared to .NET MAUI 9.0 Preview 6, Preview 7 shows a blue notification / action bar on every modal page on Android, and it seems impossible to turn it off. MainPage does not have the blue bar, and it fades in when any other page (all modals) is opened. Does anybody know how disable the notification /action bar so that it does not appear on modal pages, similar to how it worked in Preview 6? (The blue bar used to be all black and empty in Preview 6.)
Steps to Reproduce
Link to public reproduction project repository
https://github.com/hyvanmielenpelit/GnollHack
Version with bug
Unknown/Other
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
Unknown/Other
Affected platforms
Android
Affected platform versions
Android 14
Did you find any workaround?
No.
Relevant log output
No response