¿Cómo cambiar el ícono del menú de opciones en la barra de acciones?

¿Cómo cambiar el icono de índice del menú de opciones?

enter image description here

Me refiero al ícono (3).

Aquí está mi código:

@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options, menu); return true; } 

Y aquí está el archivo XML:

    

Las siguientes líneas se deben actualizar en la aplicación -> main -> res -> values ​​-> Styles.xml

      

Así es como se puede hacer. Si desea cambiar el icono de desbordamiento en la barra de acciones

Obtuve una solución más simple que funcionó perfectamente para mí:

 Drawable drawable = ContextCompat.getDrawable(getApplicationContext(),R.drawable.change_pass); toolbar.setOverflowIcon(drawable); 

1) Declara el menu en tu clase.

 private Menu menu; 

2) En onCreateOptionsMenu haga lo siguiente:

 public boolean onCreateOptionsMenu(Menu menu) { this.menu = menu; getMenuInflater().inflate(R.menu.menu_orders_screen, menu); return true; } 

3) En onOptionsItemSelected , obtenga el elemento y realice los cambios necesarios (icono, texto, color, fondo)

 public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_search) { return true; } if (id == R.id.ventor_status) { return true; } if (id == R.id.action_settings_online) { menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.history_converted)); menu.getItem(1).setTitle("Online"); return true; } if (id == R.id.action_settings_offline) { menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.cross)); menu.getItem(1).setTitle("Offline"); return true; } return super.onOptionsItemSelected(item); } 

Nota :
Si tiene 3 elementos de menú:
menu.getItem (0) = 1 elemento,
menu.getItem (1) = 2 iteam,
menu.getItem (2) = 3 elemento

En función de esto, realice los cambios según sus necesidades.

 //just edit menu.xml file //add icon for item which will change default setting icon //add sub menus ///menu.xml file       

puedes lograr esto haciendo

      

Utilice el ejemplo de Syed Raza Mehdi y agregue el Application theme el parámetro name=actionOverflowButtonStyle para compatibilidad.

   

Esto funciona correctamente en mi caso:

 Drawable drawable = ContextCompat.getDrawable(getApplicationContext(), R.drawable.change_pass); toolbar.setOverflowIcon(drawable); 
  1. Cambie el icono de desbordamiento personalizado de la barra de acciones en styles.xml

            
  2. Coloque el tema personalizado “MyTheme” en la etiqueta de aplicación de AndroidManifest.xml

       

Que te diviertas.@.@

Una manera corta y fácil de cambiar el color del ícono de índice del menú de opciones es:

  @color/optionMenuIconColor 

Agregue la línea de código anterior en el archivo de estilo .xml (tema personalizado). Espero que obtenga respuesta. Gracias.