Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.

[Enhancement] Implement an effect that manage the full screen mode #718

@Cfun1

Description

@Cfun1

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA request for a new feature.in-progressActively being worked on.ready-to-implementFeature approved, specs written, and ready to implement.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions