FullScreenStatus.Maui 1.0.5

dotnet add package FullScreenStatus.Maui --version 1.0.5                
NuGet\Install-Package FullScreenStatus.Maui -Version 1.0.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FullScreenStatus.Maui" Version="1.0.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FullScreenStatus.Maui --version 1.0.5                
#r "nuget: FullScreenStatus.Maui, 1.0.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FullScreenStatus.Maui as a Cake Addin
#addin nuget:?package=FullScreenStatus.Maui&version=1.0.5

// Install FullScreenStatus.Maui as a Cake Tool
#tool nuget:?package=FullScreenStatus.Maui&version=1.0.5                

MauiPageFullScreen sets the Page to full screen or restore screen

Currently it works with Navigation Page, Tabbed page, and Shell page. Full screen is supported by Windows, android and IOS. It is not supported on Mac Catalyst.

FullScreenStatus.Maui .NET 7 QualityGate
Stable .NET 7 Quality Gate Status

API Example:

      Controls.ToggleFullScreenStatus();
      Controls.FullScreen();
      Controls.RestoreScreen();

Setup for usage:

The important part is using statement and builder statements

using MauiPageFullScreen;

Build arguements:

.UseFullScreen()

Example MauiProgram.cs

using MauiPageFullScreen;
using Microsoft.Extensions.Logging;

namespace MauiFullScreenSample
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>().UseFullScreen()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });

#if DEBUG
		builder.Logging.AddDebug();
#endif

            return builder.Build();
        }
    }
}

Example MainPage.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="MauiFullScreenSample.MainPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

     <ScrollView>
        <VerticalStackLayout
            Padding="30,0"
            Spacing="25"
            VerticalOptions="Center">

            <Image
                HeightRequest="200"
                HorizontalOptions="Center"
                SemanticProperties.Description="Cute dot net bot waving hi to you!"
                Source="dotnet_bot.png" />

            <Label
                FontSize="32"
                HorizontalOptions="Center"
                SemanticProperties.HeadingLevel="Level1"
                Text="Hello, World!" />

            <Button
                x:Name="FullScreenToggle"
                Clicked="FullScreen_Toggled"
                HorizontalOptions="Center"
                Text="Toggle Full Screen" />
            <Button
                x:Name="FullScreen"
                Clicked="FullScreen_Clicked"
                Text="Full Screen" />
            <Button
                x:Name="RestoreScreen"
                Clicked="RestoreScreen_Clicked"
                Text="Restore Screen" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>

Example MainPage.xaml.cs

using MauiPageFullScreen;

namespace MauiFullScreenSample
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

       private void FullScreen_Toggled(object sender, EventArgs e)
        {
            Controls.ToggleFullScreenStatus();
        }

        private void FullScreen_Clicked(object sender, EventArgs e)
        {
            Controls.FullScreen();
        }

        private void RestoreScreen_Clicked(object sender, EventArgs e)
        {
            Controls.RestoreScreen();
        }
    }
}

On IOS devices plist must be adjusted with included code below:

<key>UIViewControllerBasedStatusBarAppearance</key>
	<false/>
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-android33.0 is compatible.  net7.0-ios was computed.  net7.0-ios16.1 is compatible.  net7.0-maccatalyst was computed.  net7.0-maccatalyst16.1 is compatible.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net7.0-windows10.0.19041 is compatible.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net7.0

    • No dependencies.
  • net7.0-android33.0

    • No dependencies.
  • net7.0-ios16.1

    • No dependencies.
  • net7.0-maccatalyst16.1

    • No dependencies.
  • net7.0-windows10.0.19041

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FullScreenStatus.Maui:

Package Downloads
MediaControls.Maui

Maui MediaElement custom Controls

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.5 1,552 10/13/2023
1.0.4 158 10/13/2023
1.0.3 152 9/18/2023
1.0.2 138 9/17/2023
1.0.1 130 9/17/2023
1.0.0 138 9/17/2023

Full Screen support for dotnet Maui Page element