Android hamburguesa / flecha icono cambio dinámico color

Quiero cambiar el color de la hamburguesa / icono de flecha del cajón de navegación. Sé que puedo cambiarlo en estilos, pero quiero cambiarlo dinámicamente en java. ¿Alguien sabe cómo hacer esto?

Utilizando appcompat-v7: 23.0.1 el siguiente código funcionó para mí:

int color = Color.parseColor("#FFEEEE00"); final PorterDuffColorFilter colorFilter = new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP); for (int i = 0; i < toolbar.getChildCount(); i++) { final View v = toolbar.getChildAt(i); if (v instanceof ImageButton) { ((ImageButton) v).setColorFilter(colorFilter); } } 

Utilícelo en public boolean onCreateOptionsMenu(Menu menu)

Puede utilizar setTint de la nueva clase DrawableCompat (desde la DrawableCompat de soporte v4)

 // Get the icon you want as a drawable Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu, null); // "Enable" tinting process drawable = DrawableCompat.wrap(drawable); // Tint it DrawableCompat.setTint(drawable, Color.BLACK); // Set it as action bar icon actionBar.setHomeAsUpIndicator(drawable); 

Para obtener más detalles sobre el teñido extraíble, vea el artículo de Chris Bane sobre la librería de soporte V22.1

  • Cómo obtener la ubicación GPS de Android
  • Redimensionar el mapa de bits de Android
  • Desplazamiento sobre lienzo grande
  • ANR en SurfaceView en dispositivos específicos solamente - La única solución es un tiempo de sueño corto
  • Java Web Start - ¿Funciona con Android?
  • AddProximityAlert y KEY_PROXIMITY_ENTERING
  • GetChildDrawingOrder llamado / utilizado de forma errática?
  • Android @Inject y anotaciones de @InjectView significado
  • Obtener la hora del sistema en milisegundos en android
  • Decodificación y Codificación. Diferentes implementaciones de la clase Base64 en android.util. * Y java.util. *?
  • Conexión de socket - Java añade bytes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.