xamarin.forms - Elimina la barra de navegación en la aplicación Xamarin Forms con Caliburn.Micro
(3)
Cuando uso la clase base FormsApplication
con una nueva aplicación Xamarin.Forms que usa Caliburn.Micro, termino con una barra de navegación vacía en la parte superior de mi pantalla. Supongo que está siendo creado por Caliburn.Micro de alguna manera, porque una aplicación Xamarin.Forms fuera de la caja no tiene eso.
¿Hay alguna manera de que pueda usar Caliburn.Micro con Xamarin.Forms sin esta barra de navegación?
Esto funciona para mi:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.Window.AddFlags(WindowManagerFlags.Fullscreen); // hide the status bar
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
int uiOptions = (int)Window.DecorView.SystemUiVisibility;
uiOptions |= (int)SystemUiFlags.LowProfile;
uiOptions |= (int)SystemUiFlags.Fullscreen;
uiOptions |= (int)SystemUiFlags.HideNavigation;
uiOptions |= (int)SystemUiFlags.ImmersiveSticky;
Window.DecorView.SystemUiVisibility =
(StatusBarVisibility)uiOptions;
}
No he usado Caliburn.Micro, pero supongo que está envolviendo su página con una página de NavigationPage
, ya que lo que usted describe es lo que sucedería si así fuera.
Debería poder ocultar esa barra de navegación configurando un atributo simple en su página como:
<ContentPage NavigationPage.HasNavigationBar="false"
..... >
</ContentPage>
Si no está utilizando páginas XAML y está haciendo todo el código de su interfaz de usuario en su lugar, entonces puede hacerlo de esta manera dentro del constructor de su página:
NavigationPage.SetHasNavigationBar(this, false);
Si está utilizando Xamarin Forms 3.x, intente esto en el constructor
SetValue(NavigationPage.HasNavigationBarProperty, false);
InitializeComponent();