La clase Xamarin.Forms.NavigationPage administra la navegación y la experiencia de usuario en la pila con otras páginas.
En la plataforma Android las operaciones de INavigation no generan notificaciones en el ciclo de vida de la aplicación. Por cada página Page que colocamos (push) o retiramos (pop) de la pila, la implementación en Android de NavigationPage simplemente añade o retira el contenido de la página hacia o desde una única actividad (Activity, es el objeto base de android para definir cada pantalla).
Hay que tener en cuenta también que la plataforma de Windows proporciona esta navegación de forma nativa. Asi pues no es necesario usar el objeto NavigationPage para tener una experiencia de navegación el usuario en esta plataforma.
Existen dos modos de navegación, donde podemos avanzar o retroceder entre paginas. El siguiente código muestra como hacerlo.
Avanzar hacia una nueva pagina
1 |
await Navigation.PushAsync(new DetailPage()); |
Se puede volver a la página anterior pulsando el boton superior a la derecha que nos aparece en la barra de navegación o escribiendo el siguiente código:
1 |
await Navigation.PopAsync(); |
La navegación se puede inicializar en cualquier momento de la aplicación, sin embargo lo más común es hacerlo desde la primera página, para ello, la siguiente linea es necesario en el constructor del fichero App.cs:
1 |
MainPage = new NavigationPage(new HomePage()); |