studio item example custom bar android android-actionbar

item - toolbar android example



Cambia el color del botón de desbordamiento en la barra de acción. (10)

Algunas de estas respuestas son excesivas y otras dan resultados limitados. La respuesta es mucho más simple. Puede configurarlo en el color que desee, en cualquier momento. Aquí:

toolbar.getOverflowIcon().setColorFilter(colorInt, PorterDuff.Mode.SRC_ATOP);

¿Es posible cambiar el color del botón de desbordamiento (3 puntos verticales) en la barra de acción? Si es así, ¿cómo hacemos eso? No encontré ningún estilo para el botón de desbordamiento.

Gracias


Otra opción programática:

Drawable drawable = toolbar.getOverflowIcon(); if(drawable != null) { drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable.mutate(), getResources().getColor(R.color.thecolor)); toolbar.setOverflowIcon(drawable); }

¡Espero eso ayude!


Poner imágenes no es una gran idea, porque si puede cambiarlo cambiando los colores solo entonces no necesita usar una imagen adicional. Los puntos del menú seleccionan el color de textColorPrimary, por lo que en lugar de escribir varias líneas, esta única línea <item name="android:textColorPrimary">@android:color/white</item> solucionará el problema. Solo un pequeño problema es que este color se aplicará también al color de texto de su menú de desbordamiento, y a muchos otros lugares del curso :)


Puede cambiar la imagen utilizada con la siguiente declaración de estilo.

<style name="MyCustomTheme" parent="style/Theme.Holo"> <item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> </style> <style name="MyCustomTheme.OverFlow"> <item name="android:src">@drawable/my_overflow_image</item> </style>

Y si estás usando ActionBarSherlock, aquí tienes cómo hacerlo.

<style name="MyCustomTheme" parent="style/Theme.Sherlock"> <item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> <item name="actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> </style> <style name="MyCustomTheme.OverFlow"> <item name="android:src">@drawable/my_overflow_image</item> </style>



Si está utilizando la última barra de herramientas, debe colocar la declaración en styles.xml, como se muestra en el siguiente código:

<style name="AppToolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">@android:color/white</item> <item name="android:textColorSecondary">@android:color/black</item> </style>


simplemente agregue esta línea en su estilo elegido en el archivo style.xma

<item name="colorControlNormal">@color/white</item>

está funcionando bien. si utiliza

<item name="textColorSecondary">@color/white</item>

entonces se verán afectados los otros elementos, como los iconos de menú de navegación del cajón, el color y el botón de radio


La respuesta de XGouchet es excelente, pero solo quería agregar que si hereda de un estilo existente obtendrá el relleno estándar, el estado seleccionado, etc.

<style name="MyCustomTheme.OverFlow" parent="Widget.Sherlock.ActionButton.Overflow"> <item name="android:src">@drawable/title_moreicon</item> </style>


@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.dashboard, menu); // dashboard is xml file name Drawable drawable = menu.findItem(R.id.lan).getIcon(); if (drawable != null) { drawable.mutate(); drawable.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP); } return true; }

Está funcionando para mí y lo encontré desde here


<style name="MyCustomTheme" parent="@style/Theme.AppCompat.Light"> <item name="actionOverflowButtonStyle">@style/OverflowMenuButtonStyle</item> </style> <style name="OverflowMenuButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow"> <item name="android:src">@drawable/quantum_ic_more_vert_white_24</item> </style>

Tenga en cuenta que esto es diferente de la respuesta de XGouchet al eliminar el espacio de nombres de Android. La respuesta de XGouchet solo funciona para dispositivos Lollipop y superiores, mientras que el mío funciona para todos los dispositivos API 7+.

ref: el tema personalizado de AppCompat no cambia el icono de desbordamiento en dispositivos antiguos