PaulusHub
PaulusHub

Reputation: 405

Make Xamarin Forms for Android Fullscreen

Is there anyway to get my Xamarin Forms application on Android go fullscreen or immersive mode?

I tried the following, and all the controls on the status bar are hidden but the status bar itself is still showing. Any help, please

var newUiOptions = (int)SystemUiFlags.LayoutStable;

newUiOptions |= (int)SystemUiFlags.LayoutHideNavigation;
newUiOptions |= (int)SystemUiFlags.LayoutFullscreen;
newUiOptions |= (int)SystemUiFlags.HideNavigation;
newUiOptions |= (int)SystemUiFlags.Fullscreen;
newUiOptions |= (int)SystemUiFlags.Immersive;
//newUiOptions |= (int)SystemUiFlags.ImmersiveSticky;

decorView.SystemUiVisibility = (StatusBarVisibility)newUiOptions;

The navigation bar is hidden but not the status bar.

Upvotes: 7

Views: 13133

Answers (2)

Ivan Voitovych
Ivan Voitovych

Reputation: 136

protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our game view from the layout resource,
            // and attach the view created event to it
            CCGameView gameView = (CCGameView)FindViewById(Resource.Id.GameView);
            gameView.ViewCreated += LoadGame;
            gameView.SystemUiVisibility = (StatusBarVisibility)(SystemUiFlags.HideNavigation
                | SystemUiFlags.Fullscreen
                | SystemUiFlags.LayoutFullscreen
                | SystemUiFlags.LayoutHideNavigation
                | SystemUiFlags.Immersive);


        }

Upvotes: 2

KidCode
KidCode

Reputation: 4201

You can do this by setting the theme in the Activity attribute:

[Activity (Label = "@string/app_name", MainLauncher = true, Theme = "@android:style/Theme.Black.NoTitleBar.Fullscreen")]

Alternatively, if your only after a specific Activity being fullscreen, then set the following flags in the activities OnCreate method:

this.Window.AddFlags(WindowManagerFlags.Fullscreen);
this.Window.ClearFlags(WindowManagerFlags.Fullscreen);

Upvotes: 12

Related Questions