RSS

SlidingMenu And ViewPager en Android.

17 Dic

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:

evernoteY 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.

 

 

 
6 comentarios

Publicado por en 17/12/2012 en Programando con Alexrs95

 

Etiquetas: , , , , ,

6 Respuestas a “SlidingMenu And ViewPager en Android.

  1. misteryo24

    26/03/2013 at 20:00

    Hola Alex!! excelente tutorial!! Tengo una consulta… Necesito poder hacer click en un boton del SlidingMenu que me cargue un fragment y tambien hacer click en otro boton del menu y que me carge un ViewPager. Es posible hacer eso? Si me das una idea de como implementarlo te lo agradeceria. Saludos

     
  2. Chucherm

    31/01/2013 at 23:13

    Muchas gracias por la información, tengo un problema con la librería de SlidingMenu con la clase de SlidingMapActivity, me marca error con MapActivity y con el import com.google.android.maps.MapActivity;, ¿Cómo lo puedo corregir?

     
    • alexrs95

      31/01/2013 at 23:24

      Tienes que marcar en la librería de SlidingMenu que use las Google Apis. Para ello, si no recuerdo mal, pulsas botón derecho sobre el proyecto en el package explorer de Eclipse, properties, Android, y seleccionas la última versión disponible con las APIS de Google. Si no sabes o no lo solucionas, comenta de nuevo e investigo 🙂

       
      • Chucherm

        31/01/2013 at 23:55

        Gracias por la información, ya corregi ese error, pero en tu proyecto me marca error en final ActionBar mActionBar = getSupportActionBar(); y en return super.onOptionsItemSelected(item);

         
        • Chucherm

          01/02/2013 at 00:09

          Ya pude resolver el problema, me hacia falta modificar unos valores en la librería de SlidingMenu

           
  3. Roberto Rodriguez Galan

    18/12/2012 at 08:37

    Como me gusta que hayas vuelto…

    El 17 de diciembre de 2012 23:51, Alexrs95

     

Replica a Chucherm Cancelar la respuesta