Hola a todos, en esta entrada vamos a aprender a importar ésta librería a nuestro proyecto Android y utilizar sus bondades. En primer lugar necesitamos descargar el .zip de su página oficial actionbarsherlock.com, lo descomprimimos y buscamos el directorio que pone actionbarsherlock, dicho directorio es el que tenemos que abrir como proyecto en nuestro IDE, yo utilizo Eclipse, sería algo como esto: File->New->Other->Android Project from Existing Code, una vez hecho esto y con nuestro proyecto en el área de trabajo hacemos botón derecho sobre él, Propiedades->Android->Marcamos "Is Library", indicando que dicho proyecto es una librería que importaremos al proyecto de nuestra aplicación.
Para importar la librería a nuestra aplicación seguimos los siguientes pasos:
- Botón derecho sobre nuestro proyecto.
- Propiedades
- Donde antes marcamos el checkbox Is Library, ahora en vez de eso haremos click en Añadir
- Seleccionamos actionbarsherlock
Ahora ya podemos hacer uso de todos sus clases y métodos, para añadir el action bar a cualquiera de nuestras Activities, necesitamos en primer escribir dentro de nuestra clase la siguiente línea:
1 public class MainActivity extends SherlockActivity
Como comprobaréis, ahora no extendemos la clase Activity, básicamente la funcionalidad es la misma pero con la barra de acciones como añadido.
El siguiente paso es añadir botones a la barra de acciones y capturar sus eventos, para ello sobrescribiremos uno de los métodos que nos proporciona esta librería, un ejemplo:
1 @Override 2 public boolean onCreateOptionsMenu(Menu menu) { 3 4 menu.add(Menu.NONE, R.id.tabMode, Menu.NONE, "Save") 5 .setIcon(R.drawable.ic_compose) 6 .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 7 8 menu.add(Menu.NONE, R.id.abs__search_plate, Menu.NONE, "Refresh") 9 .setIcon(R.drawable.ic_refresh) 10 .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 11 12 return true; 13 }
Con este método hemos agregado 2 botones a la barra de acciones, uno se llama Save y tendrá la imagen R.drawable.ic_compose, y el otro Refresh.
Ahora para capturar cuando éstos son pulsados, necesitamos sobrescribir otro método y mediante un switch guiado por los identificadores de cada botón que pusimos en el ejemplo anterior es como identificamos cual fue pulsado:
1 @Override 2 public boolean onOptionsItemSelected(MenuItem item) { 3 4 switch (item.getItemId()) { 5 case R.id.tabMode: 6 7 case R.id.abs__search_plate: 8 9 default: 10 return super.onOptionsItemSelected(item); 11 } 12 }
Y esto es todo por hoy, ¡espero que os sirva de gran ayuda!
No hay comentarios:
Publicar un comentario