Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambio del icono de la barra de acciones

Actualmente estoy implementando el soporte de temas para mi aplicación y una parte de ella está cambiando el icono de la barra de acción. Quiero usar un icono oscuro cuando se selecciona Holo Light. Todo se hace en el método excepto en la parte donde se establece el icono de la barra de acción. El código que estoy tratando de usar es:

getActionBar(); ActionBar.setIcon(R.drawable.my_icon); 

"No hay tal referencia avavible aquí" es el error que estoy recibiendo. ¿Cómo se debe hacer esto correctamente?

BTW mi minSdkVersion es 14 por lo que no sherlock barra de acción cosas.

6 Solutions collect form web for “Cambio del icono de la barra de acciones”

 getActionBar(); 

Estás tirando la barra de acción lejos allí. getActionBar() devuelve una instancia de ActionBar , a la que entonces debe llamar a setIcon() . Al igual que:

 ActionBar actionBar = getActionBar(); actionBar.setIcon(R.drawable.my_icon); 

Aunque es un poco tarde respuesta pero pensé que podría ser útil.

Desde dentro de una actividad: Para API de nivel 14 o superior:

 getActionBar().setIcon(R.drawable.my_icon); 

Para niveles de API más bajos tenemos que extender ActionBarActivity y luego:

 getSupportActionBar().setIcon(R.drawable.my_icon); 

Desde dentro de un Fragmento: Para API de nivel 14 o superior:

 getActivity().getActionBar().setIcon(R.drawable.my_icon); 

Para un nivel API más bajo podemos usar (la actividad debe extender ActionBarActivity):

 ((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon); 

Y en ambos casos tenemos que llamar a setDisplayShowHomeEnabled (true) antes de configurar el icono o el logotipo.

 ((ActionBarActivity)getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true); ((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon); 

Es necesario agregar el dibujable que desea hacer referencia a su carpeta drawable/ en res/ .

Editar: En tu carpeta de instalación de Android hay un montón de imágenes de archivo para usar. Usted probablemente puede encontrar allí.

La respuesta existente es muy correcta. Hay, sin embargo, también una alternativa. Un enfoque mínimo sería utilizar

getActionBar().setIcon(R.drawable.my_icon);

Obtiene su trabajo de inmediato. 🙂

Detalles técnicos : Como getActionBar () devuelve por defecto un objeto, puede manipularlo directamente sin tener que recibirlo explícitamente en un objeto dentro del ámbito.

Llamar a setIcon no fue suficiente para mí.

Antes de eso, tuve que cambiar la pantalla del logotipo de actividad al icono de actividad:

 actionBar.setDisplayUseLogoEnabled(false); 

Para ver las diferencias entre el icono de la actividad y el logotipo, vea el ícono de Android contra el logotipo .

Estoy usando esto para mi uso, y está trabajando para mí. Espero que esto ayude a todos

 actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeAsUpIndicator(R.drawable.icon); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.