Maneja la navegación entre fragmentos

  1

¡Tenemos nueva librería! En casi todas las aplicaciones se nos da un caso o un par de casos en los que hay que manejar una navegación de fragmentos dentro de la misma Activity, es el típico caso en el que se empieza un proceso en el que quieres dar feedback al usuario de que está en la misma ventana y por lo tanto va a seguir ahí a no ser cancele el proceso o lo complete. Por ejemplo en Selltag usamos este tipo de navegación en el proceso de creación de un anuncio.

Por eso mismo he decidido crear una librería que haga este proceso de una manera más limpia, sin tanto código boilerplate y sin herencias ya que cada uno tiene montada una herencia para sus proyectos.

La librería es muy sencilla de usar, lo comento en el Readme.md de Github, pero básicamente es crear un objeto que herede de WizardPage, sobreescribir el método “createFragment” para retornar tu fragment y en el Activity donde quieres la navegación hacer algo así:

Wizard wizard = new Wizard.Builder()
         .activity(this)
         .pageList(new WizardPage[]{
                   new WizardPage1(),
         }).build();
wizard.init();

Con esto ya tenemos montado el wizard, solo tenemos que llamar a wizard.navigateNext() o navigatePrevious para hacer las navegaciones que necesitemos.

El wizard tiene más opciones de configuración como transiciones entre Fragments especificando los xml de animación con “enterAnimation”, “exitAnimation”, “popEnterAnimation” y “popExitAnimation”. También tiene posibilidad de tener un listener de cambio de página.
La clase WizardPage, que es la que representa una página de navegación, puede sobreescribir “setupActionBar” para configurar el action bar en esa página.

La librería está disponible en Github: https://github.com/PaNaVTEC/Wizard

Written by:

Christian Panadero Martinez