Hace algún tiempo que me rondaba en la cabeza juntar dos de los elementos más destacables en cuanto a interacción con el usuario se refiere, estos son el ViewPager y el menú lateral o SlidingMenu.
Todos hemos visto y usado (supongo que si habréis llegado hasta aquí es por algo) estos dos elementos. Por ejemplo, el SlidingMenu se puede encontrar en apps tan conocidas como Youtube, Google+, Facebook o Evernote. Aquí un ejemplo:
Y también supongo que todos que todos habremos o al menos visto alguna vez el ViewPager, que podemos encontrar en múltiples apps como TweekDeck, o incluso las de Androjuegos y Androtalk (
).
La pregunta que me hice era tan simple como:
¿Por qué no hay ninguna app que implemente tanto el ViewPager como el SlidingMenu?
Lo primero que pensé fue que no habría ninguna librería buena para implementar el SlidingMenu (hace algunos meses, cuando lo vi por primera vez, estuve investigando y no encontré ninguna buena) pero obviamente, y como era de esperar, no es así, pues Googleando un poco te encontrarás con un genial proyecto en GitHub que nos ofrece una implementación que funciona a las mil maravillas y que podemos encontrar en apps como Plume o Falcon Pro.
Así que hace un par de semanas, en una tarde libre, me puse a idear una demo que implementase tanto el ViewPager como el SlidingMenu. Para ello tomé como base el ejemplo que puedes encontrar en la web de desarrolladores Android de Google, de nombre EffectiveNavigation y que personalmente recomiendo porque nos ofrece un ejemplo sencillo de como funciona el ViewPager, y el proyecto de ejemplo que viene junto a la librería de SlidingMenu.
Además, ya que me puse, lo hice compatible para Android 2.2 o superior. Supongo que funcionará en versiones anteriores sin ningún problema, pero la cuota de mercado de 2.1 o menor es tan mínima que no pensé que fuese necesario. Pese a ello, si quieres probarlo, únicamente tienes que cambiar en el Manifest la versión mínima del SDK.
Finalmente, el resultado fue el proyecto que subí a GitHub, de nombre SlidingMenuAndViewPager. Para que todo funcione correctamente, tienes que importar ActionbarSherlock y SlidingMenu. Además, en SlidingMenu deberás cambiar algunas clases, haciendo que éstas extiendan de Sherlock____Activity (SherlockActivity, SherlockFragmentActivity…) en lugar de ___Activity.
Hecho esto, el proyecto no debería dar ningún error, y tendréis un ejemplo de como usar ambas cosas en vuestras aplicaciones.
Si queréis ver un vídeo con la funcionalidad, aquí está disponible.
Sé que no he escrito nada de código en esta entrada, he considerado que no era necesario, pero pese a ello, si alguien tiene alguna duda, o no le funciona algo, que no dude en comentar y estaré encantado de ayudar.





Imagino que a estas alturas de la película, todos conoceremos Eclipse, uno de los mejores IDEs de programación que existen, y el oficial a la hora de desarrollara para Android.