Barra de Acción elemento de menú color del texto
Cómo cambiar el color del texto del título del elemento del menú. Intenté cambiarlo como a continuación
<style name="Theme.Kanku.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">@color/white</item> </style>
Pero cambia el color solamente del texto del título de la barra de la acción, pero no del texto del artículo del menú.
- Vista de navegación inferior con elemento personalizado (actionLayout)
- Cómo cambiar dinámicamente el menú en onCreateOptionsMenu
- Cambiar programaticamente el icono de ActionBar
- Tema personalizado ActionBar android (menú no funciona)
- Menú personalizado de PopUp
- Cómo centralizar iconos en la barra de herramientas en android studio
- Mostrar iconos en el menú Desbordamiento en la barra de acciones contextuales
- Desapareciendo el título de la barra de herramientas
- Menú deslizante vertical en Android
- Cómo hacer que el menú de opciones aparezca en la parte inferior de la pantalla de Android
- Cómo implementar un contador de insignia en el icono de menú de hamburguesa android
- PopupWindow - Descartar cuando se hace clic fuera
- Método getMenuInflater () problema indefinido en la creación del menú contextual de Android
Intente algo como esto:
<style name="ThemeName" parent="@style/Theme.Sherlock.Light"> <item name="actionMenuTextColor">@color/white</item> <item name="android:actionMenuTextColor">@color/white</item> </style>
He intentado varias cosas pero nada funcionó para mí. Finalmente esto hizo el truco:
<style name="your_theme" parent="your_parent"> <item name="android:itemTextAppearance">@style/TextAppearance</item> </style> <style name="TextAppearance"> <item name="android:textColor">@android:color/black</item> </style>
No usé temas de Sherlock. Esto funcionó para Holo.Light.DarkActionBar.
Después de probar todas estas y tenerlas no funcionan, lo hice programáticamente como esto:
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.changeip_card_menu, menu); for(int i = 0; i < menu.size(); i++) { MenuItem item = menu.getItem(i); SpannableString spanString = new SpannableString(menu.getItem(i).getTitle().toString()); spanString.setSpan(new ForegroundColorSpan(Color.WHITE), 0, spanString.length(), 0); //fix the color to white item.setTitle(spanString); } return true; }
Esto funcionará dinámicamente cada vez. En este caso, el color del texto cambia a blanco. Simpy, cambia Color.WHITE a Color.whatever-color-you-want para cambiarlo a cualquier color que desee.
Para actualizar el color de texto del elemento de menú es necesario realizar cambios en themes.xml. La siguiente respuesta es para sherlock.actionbar. En el archivo themes.xml, añada las siguientes líneas:
<style name="Theme.Mytheme" parent="@style/Theme.Sherlock"> <item name="actionMenuTextColor">@color/mycolor</item> <item name="android:actionMenuTextColor">@color/mycolor</item> </style>
Esto funcionó para mí:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:textAppearanceLargePopupMenu">@style/MyOverflowItemCollor</item> </style> <style name="MyOverflowItemCollor" parent="android:TextAppearance.Holo.Widget.PopupMenu.Large"> <item name="android:textColor">#ffffff</item> </style>
Si AppTheme es androide: Theme.Holo.Light.DarkActionBar, entonces usted necesita configurar la acción personalizadaBarWidgetTheme con el fin de obtener el estilo del menú de acción cambiado. Me gusta esto:
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarWidgetTheme">@style/ActionBarWidget</item> <item name="android:actionMenuTextColor">@color/{custom_menu_item_text_color}</item> </style> <style name="MenuItemText"> <item name="android:textColor">@color/{custom_menu_item_text_color}</item> </style> <style name="ActionBarWidget" parent="@android:style/Theme.Holo"> <item name="android:itemTextAppearance">@style/MenuItemText</item> </style>
Usted puede cambiar el color del artículo de la acción simplemente siguiendo la línea
<item name="android:actionMenuTextColor">@color/selected_text_color</item>
Usted puede aplicar como esto.
<style name="your_theme" parent="your_parent"> <item name="android:actionMenuTextColor">@color/selected_text_color</item> </style>
En mi caso
<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionMenuTextColor">@color/selected_text_color</item> </style>
Utilice por favor el código abajo que trabaja
<!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorWhite</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorPrimaryDark</item> <item name="android:actionMenuTextColor">@color/colorWhite</item> </style>
Añada la siguiente línea de código a su archivo .xml de estilo que cambia el color del texto del menú de opción en negro :
<style name="optionMenuTextApearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item"> <item name="android:textColor">@color/colorBlack</item> </style>
A continuación, agregue este código de una línea a su tema para cambiar el color del texto del menú de opciones:
<item name="android:itemTextAppearance">@style/optionMenuTextApearance</item>
Funciona para mí, gracias.
Puede establecer el color mediante programación. Espero que te ayude.
private static void setMenuTextColor(final Context context, final Toolbar toolbar, final int menuResId, final int colorRes) { toolbar.post(new Runnable() { @Override public void run() { View settingsMenuItem = toolbar.findViewById(menuResId); if (settingsMenuItem instanceof TextView) { if (DEBUG) { Log.i(TAG, "setMenuTextColor textview"); } TextView tv = (TextView) settingsMenuItem; tv.setTextColor(ContextCompat.getColor(context, colorRes)); } else { // you can ignore this branch, because usually there is not the situation Menu menu = toolbar.getMenu(); MenuItem item = menu.findItem(menuResId); SpannableString s = new SpannableString(item.getTitle()); s.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, colorRes)), 0, s.length(), 0); item.setTitle(s); } } }); }
- OnAttach () no se llama en Fragmento
- Single page PreferenceActivity w / sin encabezados / fragmentos?