5

Esiste comunque la possibilità di ottenere la mia applicazione Xamarin Forms su Android in modalità fullscreen o immersiva?Crea moduli Xamarin per Android a schermo intero

Ho provato quanto segue, e tutti i controlli sulla barra di stato sono nascosti ma la barra di stato continua a essere visualizzata. Qualsiasi aiuto, per favore

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; 

La barra di navigazione è nascosta ma non la barra di stato.

risposta

8

È possibile farlo impostando la theme nell'attributo Activity:

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

In alternativa, se il vostro solo dopo una specifica attività di essere a pieno schermo, quindi impostare i seguenti flag nelle attività OnCreate metodo:

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

Grazie. Non tentare di mettere l'attività principale in modalità a schermo intero solo una pagina di contenuti Xamarin.Forms e ho riscontrato che il problema riguardava la navigazione dei dettagli principali. – 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); 


     }