5

Czy mimo to można pobrać aplikację Xamarin Forms z systemu Android w trybie pełnoekranowym lub immersyjnym?Tworzenie formularzy Xamarin dla systemu Android w trybie pełnoekranowym

Próbowałem następujących elementów i wszystkie kontrolki na pasku stanu zostały ukryte, ale sam pasek stanu wciąż się wyświetla. Każda pomoc, proszę

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; 

Pasek nawigacji jest ukryty, ale nie pasek stanu.

Odpowiedz

8

Można to zrobić poprzez ustawienie theme w atrybucie Activity:

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

Ewentualnie, jeśli twój dopiero po określonej aktywności będącego pełnym ekranie, a następnie ustawić następujące flagi w działaniach OnCreate metody:

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

Dzięki. Nie próbujesz umieścić głównej aktywności w trybie pełnoekranowym tylko na stronie z treścią Xamarin.Forms i odkryłeś, że problem dotyczy nawigacji z wzorcami. – 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); 


     }