Xamarin.Forms | Ocultar la barra de navegación en Android e iOS

Para hoy traigo un “workaround” sobre cómo ocultar la barra de navegación en Android cuando estamos trabajando con Xamarin.Forms.

Problema

Cuando creamos una aplicación Xamarin.Forms, por defecto, en Android aparecerá la barra de navegación al hacer uso de NavigationPage. Si no queremos mostrar esta barra de navegación porque hacemos uso de navegación por contenidos y con el botón “back” del propio sistema no es una tarea trivial hasta donde he indagado. Por favor, si tenéis alguna solución más elegante, sencilla y efectiva, compartidla conmigo.

Solución

He encontrado varias soluciones para lograr el resultado deseado pero algunas me han parecido más complejas de lo necesario como por ejemplo, sobreescribir el “Tema” Theme.Holo.Light, cosa que sólo funcionaría en Android y habría que buscar la solución para iOS. Pero la que mejor me ha encajado tampoco es muy elegante que digamos (siempre desde mi punto de vista).

Lo que debemos hacer es poner una simple línea de texto en cada una de las páginas

1: NavigationPage.SetHasNavigationBar(this, false);

Con esto ya tendríamos oculta la barra de navegación de iOS y Android, aunque como he comentado, hay que hacerlo página por página siendo algo “latoso” y poco elegante cuando podría haber una solución más simple

Referencias

http://developer.xamarin.com/recipes/ios/content_controls/navigation_controller/make_the_nav_bar_disappear/