5

Gibt es sowieso, um meine Xamarin Forms-Anwendung auf Android Fullscreen oder Immersive-Modus zu gehen?Machen Sie Xamarin Forms für Android Fullscreen

Ich habe Folgendes versucht, und alle Steuerelemente in der Statusleiste sind ausgeblendet, aber die Statusleiste selbst wird weiterhin angezeigt. Jede Hilfe, bitte

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; 

Die Navigationsleiste ist ausgeblendet, aber nicht die Statusleiste.

Antwort

8

Sie können dies tun, indem Sie die theme im Activity Attribut Einstellung:

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

Alternativ, wenn Ihr erst nach einer bestimmten Aktivität ist größer anzeigen, legen Sie dann die folgenden Flags in den Aktivitäten OnCreate Methode:

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

Danke. Ich versuche nicht, die Hauptaktivität in den Vollbildmodus zu versetzen, sondern nur eine Xamarin.Forms-Inhaltsseite, und habe festgestellt, dass dieses Problem bei der Master-Details-Navigation liegt. – Paulus

0
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); 


     }