-
Notifications
You must be signed in to change notification settings - Fork 459
[Enhancement] Implement an effect that manage the full screen mode #718
Description
Summary
Provide an option to hide/unhide the status bar on some pages only, at Xamarin.Forms level, currently one needs to use a DependencyService
to achieve this.
API
FullScreenEffect
Properties
API | Description |
---|---|
Mode | Full screen mode platform dependent, may affect StatusBar, navigation visibility |
IsPersistent | True: Keep Full Screen mode set even after navigating away from page that enabled it. False: Restore the initial Full screen state/mode (what if changed meanwhile?) once navigating away from the page. |
xPlat Mode | Android | iOS | UWP |
---|---|---|---|
? | Enabled | Enabled | FullScreen |
? | Disabled | Disabled | CompactOverlay |
? | Immersive | Auto | |
? | LeanBack | Maximized | |
? | StickyImmersive | PreferredLaunchViewSize |
Intended Use Case
My initial goal is to set a page in full screen with an attached effect to it.
Used besides (or even without) Shell.NavBarIsVisible="False"
it will enable full screen mode.
xct:FullScreenEffect.Mode="Enabled"
What do you guys think?
Scenarios
- This can be used on pages that dev want it to be in full screen, like a Login page.
<ContentPage xct:FullScreenEffect.Mode="Enabled"...
- If a dev want to keep the app in full screen even after navigating away from that page
<ContentPage xct:FullScreenEffect.Mode="Enabled" xct:FullScreenEffect.IsPersistent="True"
References
Android: https://developer.android.com/training/system-ui/immersive
UWP: https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.applicationviewwindowingmode?view=winrt-19041
iOS: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621453-modalpresentationcapturesstatusb
https://developer.apple.com/documentation/uikit/uiviewcontroller/1621440-prefersstatusbarhidden
Who Will Do The Work?
- I am willing to take this on myself
- Just putting this out there for someone to pick up