![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
Cambio de iconos segun tema de actionbar
Hola,
Estoy empezando en esto de programar aplicaciones para Android y no se si será posible lo que quiero hacer... Resulta que estoy utilizando la actionbarsherlock y me he preparado una Activity que hereda de SherlockActivity ( de la cual heredarán despues las demás clases de mi aplicación) y según el tema seleccionado ( en preferencias ) selecciono un estilo para la aplicación. Este código uso para cambiar según el tema que está seleccionado. Código:
private void changeTheme() { String value; value = getActualTheme(); // da el valor del tema seleccionado sacandolo de las preferences if (value.compareTo(THEME_DARK_NUMBER) == 0) { setTheme(THEME_DARK); } else if (value.compareTo(THEME_LIGHT_NUMBER) == 0) { setTheme(THEME_LIGHT); } else if (value.compareTo(THEME_LIGHT_DARK_ACTIONBAR_NUMBER) == 0) { setTheme(THEME_LIGHT_DARK_ACTIONBAR); } } Para solucionarlo he realizado una función para detectar el tema y a partir de ahí elegir un menú u otro ( de un xml ). Código:
private int menu(Activity a , int menu ) { int type = getColor(a); if (menu == MENU_MENUACTIVITY ){ if (type == 1) return R.menu.activity_menu; else return R.menu.activity_menu_light; } return (Integer) null; } private int getColor(Activity a){ String value; value = getActualTheme(); if (value.compareTo(THEME_DARK_NUMBER) == 0) { return 1; }else if (value.compareTo(THEME_LIGHT_NUMBER) == 0) { return 2; }else if (value.compareTo(THEME_LIGHT_DARK_ACTIONBAR_NUMBER) == 0) { return 1; }else{ return 1; } } La pregunta es... se puede realizar de alguna forma no tenga que modificar la clase "base" cada vez que añado una nueva activity?? Saludos y gracias Última edición por Expectro Día 07/09/12 a las 22:33:53 |
|
#2
|
||||
|
||||
Nadie? Sino tendré que hacerle de esa forma
Enviado desde mi LT18i usando Tapatalk 2 |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 23:34:23 (GMT +2)
HTCMania: líderes desde el 2007